Jooq插入语句没有代码生成

时间:2016-11-02 07:19:03

标签: java mysql jdbc jooq

我正在使用jOOQ生成SQL语句。如何创建插入语句?我能够生成一个select语句,但我无法生成一个insert语句。我可以创建一个这样的select语句:

String selectSQL = create.select().from("author").getSQL();

如何为insert

创建SQL语句
try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        dbConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/library?autoReconnect=true&useSSL=false","root","abcd");
        DSLContext create = DSL.using(dbConnection,SQLDialect.MYSQL);
         String SQl = create.insertInto(Table<?> table("author"), Field<Object> field("id"),Field<Object> field("first_name").Field<Object> field("last_name")).values("1", "askdfj", "kdjvk").getSQL();

    }

2 个答案:

答案 0 :(得分:1)

您需要使用:

create
    .insertInto(table("author"), field("id"), field("first_name"), field("last_name"))
    .values("1", "askdfj", "kdjvk")

其中tablefieldorg.jooq.impl.DSL.tableorg.jooq.impl.DSL.field的静态导入。

请注意,您的代码存在多个语法错误(例如,Table<?>Field<Object>不属于他们,而.代替,

答案 1 :(得分:-1)

在官方文档中,您有example

create.insertInto(AUTHOR,
    AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
  .values(100, "Hermann", "Hesse");