Java bean 对象 转 sql 建表语句
Java bean 对象转 SQL 建表语句的过程需要以下几个步骤:
- 获取 Java bean 对象的属性和属性类型。
- 根据属性类型生成对应的 SQL 数据类型。
- 根据属性名和 SQL 数据类型生成建表语句中的列名和列类型。
- 根据生成的列名和列类型组成建表语句。
下面是一个 Java bean 对象转 SQL 建表语句的示例代码:
import java.lang.reflect.Field;
public class BeanToSql {
public static String getCreateTableSql(String tableName, Class<?> clazz) {
StringBuilder sql = new StringBuilder();
sql.append("CREATE TABLE " + tableName + " (");
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
String fieldName = field.getName();
Class<?> fieldType = field.getType();
String columnType = getColumnType(fieldType);
sql.append(fieldName + " " + columnType + ",");
}
sql.deleteCharAt(sql.length() - 1);
sql.append(");");
return sql.toString();
}
private static String getColumnType(Class<?> fieldType) {
if (fieldType == String.class) {
return "VARCHAR(255)";
} else if (fieldType == int.class || fieldType == Integer.class) {
return "INT";
} else if (fieldType == long.class || fieldType == Long.class) {
return "BIGINT";
} else if (fieldType == float.class || fieldType == Float.class) {
return "FLOAT";
} else if (fieldType == double.class || fieldType == Double.class) {
return "DOUBLE";
} else if (fieldType == boolean.class || fieldType == Boolean.class) {
return "BOOLEAN";
} else {
return "VARCHAR(255)";
}
}
}
使用示例:
public class User {
private int id;
private String name;
private int age;
private boolean sex;
// 省略 getter 和 setter 方法
}
public class Main {
public static void main(String[] args) {
String sql = BeanToSql.getCreateTableSql("user", User.class);
System.out.println(sql);
}
}
输出结果:
CREATE TABLE user (id INT,name VARCHAR(255),age INT,sex BOOLEAN);
``
原文地址: https://www.cveoy.top/t/topic/eEzy 著作权归作者所有。请勿转载和采集!