oracle的pojo获取字段名,mysql也是可以用同样的代码写.但是要更改sql语句
// 自动生成pojo脚本
protected void genPojoTitl() {
String pojoName = this.getClass().getName()
.substring(this.getClass().getName().indexOf("dao") + 4)
.replace("Dao", "");
String sql = "select COLUMN_NAME,DATA_TYPE,DATA_SCALE from USER_TAB_COLS where TABLE_NAME= 'T_"
+ pojoName.toUpperCase() + "'";
StringBuilder sb = new StringBuilder();
sb.append("public class " + pojoName
+ " implements Serializable {\n\n");
this.checkConn();
try {
ResultSet rs = this.conn.createStatement().executeQuery(sql);
while (rs.next()) {
sb.append("private ");
// 支持常规类型
if ("VARCHAR2".equals(rs.getString("DATA_TYPE"))) {
sb.append(" String ");
} else if ("DATE".equals(rs.getString("DATA_TYPE"))) {
sb.append(" java.util.Date ");
} else if ("NUMBER".equals(rs.getString("DATA_TYPE"))) {
if (rs.getInt("DATA_SCALE") > 0) {
sb.append(" Double ");
} else {
sb.append(" Innteger ");
}
}
sb.append(rs.getString("COLUMN_NAME").toLowerCase() + ";\n");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(sb);
}