bean 字段生成工具
从Mysql的数据库字段,导出成bean的字段
1. 先查询mysql表字段:
select DATA_TYPE, COLUMN_NAME
from information_schema.COLUMNS
where TABLE_NAME = 'INT_LOGISTICS_INFO'
得到结果:
int | INT_LOGISTICS_INFO_ID |
2. 然后运行工具类:
public static void transfromDBColumnToBean(String fileName) {
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(fileName))))) {
String str = null;
while ((str = br.readLine()) != null) {
if (!"".equals(str.trim())) {
StringBuilder sb = new StringBuilder("private ");
str = str.toLowerCase();
// remove the space between type and field
str = str.replaceAll("\\s+", "=");
String[] ty_fi = str.split("=");
switch (ty_fi[0]) {
case "int":
sb.append("int ");
break;
case "varchar":
sb.append("String ");
break;
case "timestamp":
// java.util.Date
sb.append("Date ");
break;
}
String[] filedStrs = null;
if (ty_fi[1].indexOf("_") > 0) {
filedStrs = ty_fi[1].split("_");
sb.append(filedStrs[0]);
for (int i = 1; i < filedStrs.length; i++) {
sb.append(Character.toUpperCase(filedStrs[i].charAt(0)));
sb.append(filedStrs[i].substring(1));
}
} else {
sb.append(ty_fi[1]);
}
sb.append(";");
System.out.println(sb.toString());
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
得到结果:
private int intLogisticsInfoId;
目前只支持 int, varchar, timestamp 3种类型, 可以继续完善