import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DatabaseTableColumnMain {
class ConstantStr{
static final String ifStr="<if test=\"";
static final String ifStr1=" != null";
static final String ifStr2="\">";
static final String ifEnd="</if>";
static final String rn="\r\n";
static final String numSign="#";
static final String comma=",";
static final String leftBrace="{";
static final String rightBrace="}";
}
public static void main(String args[]) {
String s = "`id` int(11) NOT NULL AUTO_INCREMENT,\n `username` varchar(200) DEFAULT NULL,\n `password` varchar(200) DEFAULT NULL";
List<String> column=new ArrayList<String>();
List<String> camelColumn=new ArrayList<String>();
getColumn(column,camelColumn,s);
select(column,camelColumn);
insert(column,camelColumn);
where(column,camelColumn);
update(column,camelColumn);
bean(column,camelColumn);
others();
/*List<String> list = new ArrayList<String>();
System.out.println("select-----------------------------");
matcher=p.matcher(s);
select(list, matcher);
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("insert1-----------------------------");
matcher=p.matcher(s);
insert1(list,matcher);
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("insert2-----------------------------");
matcher=p.matcher(s);
insert2(list,matcher);*/
System.out.println("---------------------------------------------------------");
System.out.println("ok");
}
static void getColumn(List<String> l1,List<String> l2,String s){
Pattern p = Pattern.compile("`(\\w)*`");
// Pattern p=Pattern.compile("p");
Matcher matcher = p.matcher(s);
while (matcher.find()) {
// System.out.println(matcher.group());
String g = matcher.group();
String column = g.substring(1, g.length() - 1);
// System.out.println(column);
// System.out.println("=============================================");
l1.add(column);
g = column;
int i = g.indexOf("_");
while (i > -1) {
char upper = g.charAt(i + 1);
upper = (char) (upper - 32);
String s1 = g.substring(i, i + 2);
g = g.replace(s1, "_" + upper);
i = g.indexOf("_", i + 1);
}
g = g.replace("_", "");
l2.add(g);
// System.out.println("**************************************************");
// System.out.println(g);
//System.out.println(column + " as " + "\"" + g + "\",");
}
}
static void select(List<String> column,List<String> camelColumn){
section();
delimiter("select");
for(int i=0;i<column.size();i++){
System.out.println(column.get(i)+" as "+"\""+camelColumn.get(i)+"\",");
}
delimiter("select");
}
static void insert(List<String> column,List<String> camelColumn){
section();
delimiter("insert");
String ifStr="<if test=\"";
String ifStr1=" != null";
String ifStr2="\">";
String ifEnd="</if>";
String rn="\r\n";
String numSign="#";
String comma=",";
String leftBrace="{";
String rightBrace="}";
for(int i=0;i<column.size();i++){
String s="";
s=ifStr+camelColumn.get(i)+ifStr1+ifStr2;
System.out.println(s);
System.out.println(""+column.get(i)+",");
System.out.println(ifEnd);
}
delimiter("insert");
}
static void where(List<String> column,List<String> camelColumn){
section();
delimiter("where");
String ifStr="<if test=\"";
String ifStr1=" != null";
String ifStr2="\">";
String ifEnd="</if>";
String rn="\r\n";
String numSign="#";
String comma=",";
String leftBrace="{";
String rightBrace="}";
for(int i=0;i<column.size();i++){
String s="";
s=ifStr+camelColumn.get(i)+ifStr1+ifStr2;
System.out.println(s);
System.out.println(""+numSign+leftBrace+camelColumn.get(i)+rightBrace+",");
System.out.println(ifEnd);
}
delimiter("where");
}
static void update(List<String> column,List<String> camelColumn){
section();
delimiter("update");
String ifStr="<if test=\"";
String ifStr1=" != null";
String ifStr2="\">";
String ifEnd="</if>";
String rn="\r\n";
String numSign="#";
String comma=",";
String leftBrace="{";
String rightBrace="}";
String space=" ";
String tab=" ";
String equal=" = ";
String set="set";
for(int i=0;i<column.size();i++){
String s="";
String s1="";
String s2="";
s+=ifStr+camelColumn.get(i)+ifStr1+ifStr2;
System.out.println(s);
s1+=tab+comma+column.get(i)+equal+numSign+leftBrace+camelColumn.get(i)+rightBrace;
System.out.println(s1);
s2=ifEnd;
System.out.println(s2);
}
delimiter("update");
}
static void bean(List<String> column,List<String> camelColumn){
section();
delimiter("bean");
for(int i=0;i<column.size();i++){
System.out.println("private String "+camelColumn.get(i)+";");
}
delimiter("bean");
}
static void others(){
section();
delimiter("others");
section(2);
System.out.println("System.out.println();");
section(2);
System.out.println("Number");
section(2);
System.out.println("Integer");
System.out.println("Long");
System.out.println("Float");
System.out.println("Double");
section(2);
System.out.println("String");
delimiter("others");
}
static void section(int n){
for(int i=0;i<n;i++){
System.out.println("");
}
}
static void section(){
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
}
static void delimiter(String s){
System.out.println(s+"-----------------------------");
}
//old
static void select(List<String> list, Matcher matcher) {
while (matcher.find()) {
// System.out.println(matcher.group());
String g = matcher.group();
String column = g.substring(1, g.length() - 1);
// System.out.println(column);
// System.out.println("=============================================");
g = column;
int i = g.indexOf("_");
while (i > -1) {
char upper = g.charAt(i + 1);
upper = (char) (upper - 32);
String s1 = g.substring(i, i + 2);
g = g.replace(s1, "_" + upper);
i = g.indexOf("_", i + 1);
}
g = g.replace("_", "");
// System.out.println("**************************************************");
// System.out.println(g);
System.out.println(column + " as " + "\"" + g + "\",");
}
}
static void insert1(List<String> list, Matcher matcher){
String ifStr="<if test=\"";
String ifStr1=" != null";
String ifStr2="\">";
String ifEnd="</if>";
String rn="\r\n";
String numSign="#";
String comma=",";
String leftBrace="{";
String rightBrace="}";
while (matcher.find()) {
String s="";
String g = matcher.group();
String column = g.substring(1, g.length() - 1);
//System.out.println(column);
/*System.out.println(g);*/
int i = g.indexOf("_");
while (i > -1) {
char upper = g.charAt(i + 1);
upper = (char) (upper - 32);
String s1 = g.substring(i, i + 2);
g = g.replace(s1, "_" + upper);
i = g.indexOf("_", i + 1);
}
g = g.replace("_", "");
/*System.out.println(s);*/
String camelColumn=g.substring(1,g.length()-1);
s=ifStr+camelColumn+ifStr1+ifStr2;
System.out.println(s);
System.out.println(""+column+",");
System.out.println(ifEnd);
}
}
static void insert2(List<String> list, Matcher matcher){
String ifStr="<if test=\"";
String ifStr1=" != null";
String ifStr2="\">";
String ifEnd="</if>";
String rn="\r\n";
String numSign="#";
String comma=",";
String leftBrace="{";
String rightBrace="}";
while (matcher.find()) {
String s="";
String g = matcher.group();
String column = g.substring(1, g.length() - 1);
//System.out.println(column);
/*System.out.println(g);*/
int i = g.indexOf("_");
while (i > -1) {
char upper = g.charAt(i + 1);
upper = (char) (upper - 32);
String s1 = g.substring(i, i + 2);
g = g.replace(s1, "_" + upper);
i = g.indexOf("_", i + 1);
}
g = g.replace("_", "");
/*System.out.println(s);*/
String camelColumn=g.substring(1,g.length()-1);
s=ifStr+camelColumn+ifStr1+ifStr2;
System.out.println(s);
System.out.println(""+numSign+leftBrace+camelColumn+rightBrace+",");
System.out.println(ifEnd);
}
}
}