Java 如何使用JOOQ store()方法?
“当我问起JOOQ的行为时,”Aaron Digulla告诉我使用store()方法。但在我的例子中,我使用事务类来执行所有的删除、更新、获取操作Java 如何使用JOOQ store()方法?,java,sql,jooq,Java,Sql,Jooq,“当我问起JOOQ的行为时,”Aaron Digulla告诉我使用store()方法。但在我的例子中,我使用事务类来执行所有的删除、更新、获取操作 Transaction transaction = Transaction.current(); int status = transaction.insert(myRecord); 但我想根据记录进行插入或更新(如果是新的,则插入,否则更新),我得到了store()方法来处理这个问题,但是store()使用记录对象
Transaction transaction = Transaction.current();
int status = transaction.insert(myRecord);
但我想根据记录进行插入或更新(如果是新的,则插入,否则更新),我得到了store()
方法来处理这个问题,但是store()
使用记录对象
myRecord.store();
当我执行此操作时,我得到异常未配置连接
正常,因为此对象未附加任何事务。因此,在我的例子中,如何使用store()
方法。还有一个问题是,它是否支持批处理update
或insert
和store()
方法
Transaction is our own class where we used
TransactionFactory.getCurrentTransaction()
public static Transaction getCurrentTransaction() {
return threadLocal.get();
}
myRecord是JOOQ生成的Record类的一个对象,我建议您只需遵循下面的说明,即如何从
配置创建新的可更新记录(在您的情况下,这可能对应于事务:
DSLContext create = DSL.using(...);
// Create a new record
BookRecord book1 = create.newRecord(BOOK);
// Insert the record: INSERT INTO BOOK (TITLE) VALUES ('1984');
book1.setTitle("1984");
book1.store();
// Update the record: UPDATE BOOK SET PUBLISHED_IN = 1984 WHERE ID = [id]
book1.setPublishedIn(1948);
book1.store();
请注意对的调用
批量存储
请考虑JavaDoc。当然,你可能可以和你的同事(我想)在这里进行检查: < P>五年后,如果你还使用java和Jooq,你可以试试3.11.2或最新版本。
3.10.6~3.11.1版本中的jOOQ有一些错误。您可以在中找到更多信息。您能告诉我们您是如何创建myRecord
?另外,什么是Transaction
?它不是包含更多代码的jOOQ问题的一部分吗?