从java类生成sql

时间:2017-03-14 03:41:53

标签: java sql intellij-idea

我有java类,没有注释,没有使用hibernate。

我想创建一个合适的sql架构对象。

我可以使用intellij或其他任何东西自动生成吗?

public class MyClass {
Long id;
String name;
}

会创建这个

CREATE TABLE public.employee (
    id bigint NOT NULL DEFAULT,
    name text NOT NULL
)

1 个答案:

答案 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);
}