如何解决将 SQLBatch 与流畅的 API 一起使用?
文档描述了使用 sql 对象 API 中的 sqlBatch 批注进行批处理:
http://jdbi.org/jdbi2/sql_object_api_batching/
@sqlBatch("insert into something (id,name) values (:id,:first || ' ' || :last)")
void insertFamily(@Bind("id") List<Integer> ids,@Bind("first") Iterator<String> firstNames,@Bind("last") String lastName);
是否也可以使用 fluent API 执行批量 sql 插入?
String name = h.createquery("select name from something where id = :id")
.bind("id",1)
.map(StringColumnMapper.INSTANCE)
.first();
我找不到任何示例。
解决方法
我不确定 JDBI v2,但在 v3 中它是在 docs 中完成的:
PreparedBatch batch = handle.prepareBatch("INSERT INTO user(id,name) VALUES(:id,:name)");
for (int i = 100; i < 5000; i++) {
batch.bind("id",i).bind("name","User:" + i).add();
}
int[] counts = batch.execute();
我对 v2 代码库不是很熟悉,但 SqlObject 插件通常只是在底层使用通常的流畅 API,所以很可能也有某种 PreparedBatch
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。