package com.fpcms.tools;
import java.util.Scanner;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
/**
* 用于将一条字符串, 生成引号包含的JAVA多行字符串
* 输入:
* select * from user
* where username = ?
*
* 输出:
* "select * from user" +
* "where username = ?"
*
* @author badqiu
*
*/
public class SqlAutoWrapMain {
public static void main(String[] args) {
while(true) {
System.out.println("请输入需要转换为JAVA多行字符串的字符串,并以'分号'结束输入");
String sql = new Scanner(System.in).useDelimiter(";").next();
System.out.println("--- BEGIN ----------------------------------------------------");
System.out.println(convertString2JavaMultiLines(sql));
System.out.println("\n---- END ----------------------------------------------------\n");
}
}
public static String convertString2JavaMultiLines(String sql) {
StringBuilder sb = new StringBuilder();
boolean isFirst = true;
for(String line : StringUtils.split(sql,"\n\r")) {
if(!isFirst) {
sb.append(" + \n");
}else {
isFirst = false;
}
sb.append("\""+line+" \"");
}
return sb.toString();
}
public static void convertJavaMultiLines2String(String sql) {
boolean isFirst = true;
for(String line : StringUtils.split(sql,"\n\r")) {
if(!isFirst) {
System.out.println(" + ");
}else {
isFirst = false;
}
System.out.print("\""+line+" \"");
}
}
}