Java 如何使用Jooq insert。。。在MySQL中返回而不生成代码?
我一直在尝试在MySQL中使用insert…returning和基于DSL的表定义(我没有使用代码生成),我返回的记录总是空的。基于阅读,我需要在表定义中指定标识列,但我不知道如何指定Java 如何使用Jooq insert。。。在MySQL中返回而不生成代码?,java,mysql,jooq,Java,Mysql,Jooq,我一直在尝试在MySQL中使用insert…returning和基于DSL的表定义(我没有使用代码生成),我返回的记录总是空的。基于阅读,我需要在表定义中指定标识列,但我不知道如何指定 Record recordKey = create.insertInto(table("modulerecords"), field("id"), field("mo
Record recordKey = create.insertInto(table("modulerecords"),
field("id"),
field("module_id"),
field("created_date"),
field("created_by"),
field("state"),
field("tag_id"),
field("start_time",Timestamp.class),
field("kill_time", Timestamp.class),
field("feed_guid")
)
.values(null, moduleId, currentTimestamp(),
userId, state, tagId,
new Timestamp(startTime),
new Timestamp(killTime), feedGuid)
.returning(field("id"))
.fetchOne();
字段“id”是数据库中的自动增量主键,但recordKey始终为空。强烈建议您使用代码生成器向DSL API提供所有元信息。当然,您可以不使用代码生成器,而仍然使用代码生成器将使用的内部API。与使用创建表和字段引用不同,您必须创建一个子类并重写/实现所有相关方法 或者,您只需使用代码生成器