简体   繁体   English

从Java类生成SQL

[英]generate sql from java class

I have java class, no annotations, not using hibernate. 我有Java类,没有注释,没有使用休眠。

I want to create an appropriate sql schema object. 我想创建一个适当的sql模式对象。

Can I auto generate this using intellij or anything else ? 我可以使用intellij或其他方法自动生成吗?

public class MyClass {
Long id;
String name;
}

would create this 会创造这个

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

This is one of the custom method that can be written to generate such queries 这是可以编写以生成此类查询的自定义方法之一

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM