我有java类,没有注释,没有使用hibernate。
我想创建一个合适的sql架构对象。
我可以使用intellij或其他任何东西自动生成吗?
public class MyClass {
Long id;
String name;
}
会创建这个
CREATE TABLE public.employee (
id bigint NOT NULL DEFAULT,
name text NOT NULL
)
答案 0 :(得分:4)
这是可以编写以生成此类查询的自定义方法之一
public static void main(String[] args) throws ParseException {
Field[] fields = MyClass.class.getDeclaredFields();
String query = "CREATE TABLE public.employee(";
for(int i=0;i<fields.length;i++){
if(fields[i].getType().getSimpleName().toLowerCase().equals("long") || fields[i].getType().getSimpleName().toLowerCase().contains("int")){
query += fields[i].getName()+" bigint NOT NULL";
}
else if (fields[i].getType().getSimpleName().toLowerCase().contains("double") || fields[i].getType().getSimpleName().toLowerCase().equals("float")){
query += fields[i].getName()+" float NOT NULL";
}
else if (fields[i].getType().getSimpleName().toLowerCase().contains("string")){
query += fields[i].getName()+" text NOT NULL";
}
if(i != fields.length-1)
query+=",";
}
query+=")";
System.out.println(query);
}