public class JavaBeanGenerater {
public static String uncapitalize(String s){
StringBuffer sb = new StringBuffer();
if (s!=null&&s.length()>0) {
char f = s.charAt(0);
String s1 = (f+"").toLowerCase();
sb.append(s1);
if (s.length()>1) {
String s2 = s.substring(1);
sb.append(s2);
}
}
return sb.toString();
}
public static String dbTypeToJavaType(String type){
if (type.equals("INT")) {
return "int";
}else if (type.equals("VARCHAR")) {
return "String";
}else if (type.equals("DATETIME")) {
return "Date";
}else if (type.equals("TIMESTAMP")) {
return "Date";
}else if (type.equals("LONG")) {
return "long";
}else if (type.equals("DOUBLE")) {
return "double";
}else if (type.equals("FLOAT")) {
return "float";
}else{
return "String";
}
}
public static Map<String, String> columnToField(Map<String, String> map){
Map<String, String> fields = new HashMap<String, String>();
if (map!=null) {
Set<String> columns = map.keySet();
for (String col : columns) {
String field = uncapitalize(col);
String type = map.get(col);
String java_type = dbTypeToJavaType(type);
// System.out.println(field+"="+java_type);
fields.put(field, java_type);
}
}
return fields;
}
public static void main(String[] args) throws SQLException {
MysqlDAO dao = new MysqlDAO();
List<String> tables = dao.queryTables();
for (String table : tables) {
System.out.println("public class "+table+"{");
Map<String, String> columns = dao.queryTableColumn(table);
Map<String, String> fields = columnToField(columns);
Set<String> keys = fields.keySet();
List<String> keys_sort = new ArrayList<String>(keys);
Collections.sort(keys_sort);
for (String key : keys_sort) {
String type = fields.get(key);
System.out.println("\t private "+type+" "+key+";");
}
System.out.println("}");
System.out.println();
}
}
}