- 博客(0)
- 资源 (1)
空空如也
Hibernate自动生成数据库表映射实体类
private static void printTableMetaInfo(Session session) {
Connection connection = session.connection();
try {
DatabaseMetaData metaData = connection.getMetaData();
ResultSet result = metaData.getColumns(null, null, NameOfTable, null);
String strInJava = "";
String typeInJava;
while (result.next()) {
String columnName = result.getString(4);
if ("stampTime".equalsIgnoreCase(columnName)) {
continue;
}
int columnType = result.getInt(5);
String nameFirstLetterLower = columnName.substring(0, 1).toLowerCase() + columnName.substring(1);
switch (columnType) {
case Types.VARCHAR:
case Types.LONGVARCHAR:
case Types.LONGNVARCHAR:
case Types.NVARCHAR:
case Types.CHAR:
typeInJava = "String";
break;
case Types.TINYINT:
case Types.SMALLINT:
case Types.INTEGER:
typeInJava = useInteger ? "Integer" : "int";
break;
case Types.TIMESTAMP:
case Types.BINARY:
typeInJava = "Calendar";
break;
case Types.DECIMAL:
typeInJava = "BigDecimal";
break;
case Types.BIGINT:
typeInJava = "BigInteger";
break;
case Types.LONGVARBINARY:
typeInJava = "byte[]";
break;
case Types.DATE:
typeInJava = "Calendar";
break;
default:
throw new Exception("Unknown type " + columnType + " and column is " + columnName);
}
strInJava += " private " + typeInJava + " " + nameFirstLetterLower + ";\n";
// strInHibernate += "\n";
}
String str = "import javax.persistence.Entity;\n" +
"import javax.persistence.Id;\n" +
"import javax.persistence.Table;\n" +
"import java.util.Calendar;\n\n";
str += "@Entity\n";
str += "@Table(name=\"$\")\n".replace("$", NameOfTable);
str += "public class $ {\n".replace("$", NameOfTable.substring(2));
str += "\n @Id\n";
str += strInJava;
str += "}";
System.out.println(str);
StringSelection stringSelection = new StringSelection(str);
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
clpbrd.setContents(stringSelection, null);
} catch (Exception e) {
e.printStackTrace();
}
2018-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人