因此,我希望使用DSLContext
将一些记录懒洋洋地取入POJOs,如下所示:
public Iterator<Something> getSomething(DSLContext dsl) {
return dsl.selectDistinct(STUFF.FIELD)
.from(STUFF)
.fetchLazyInto(Something.class)
.iterator();
}
我当然可以做以下事情,但感觉不对:
dsl.selectDistinct(STUFF.FIELD)
.from(STUFF)
.fetchLazy()
.stream()
.map(Something::new) //now Something constructor is ugly
.iterator();
谢了!
这只能通过以下方式使用jOOQ API来完成:
dsl.selectDistinct(STUFF.FIELD)
.from(STUFF)
.fetchLazy()
.stream()
.map(r -> r.into(Something.class))
.iterator();
但是,请注意,迭代器
不扩展autocloseable
,因此,您可能有一个悬空资源(游标
的基础JDBCresultset
),它不会在停止处理结果时立即关闭。只有在没有错误地完成处理或对ResultSet
进行垃圾回收时,它才会关闭。
我使用Jooq-3.1.0在Spring-4中为Oracle和Postgresql生成和执行动态查询。在一个场景中,我有一个分区表,我需要使用JOOQ查询它。我使用,其中是在查询生成方法中作为字符串接收的字符串,例如。(模式对于不同的数据库不同,并且在外部属性文件中配置)。JOOQ生成sql,但在表名周围使用双引号。如下所示的查询和错误 查询
lazy: Boolean 延迟渲染 当动画第一次渲染并读取其起始值时,将默认自动“延迟渲染”该特定瞬间,这意味着它将尝试延迟渲染(写入值)直到最后时间点。这可以提高性能,因为它避免了某些浏览器所做的读/写/读/写布局颠簸。 如果要为特定补间禁用延迟渲染,可以进行设置lazy:false。 或者由于零持续时间的补间默认情况下不进行延迟渲染,因此您可以通过设置lazy:true等方式为其提供延迟渲染
Wraps an object and returns a Sequence. For null or undefined, simply returns an empty sequence (see Lazy.strict for a stricter implementation). For arrays, Lazy will create a sequence comprising the
#这个是我自己收集整理的一些常用的工具类##有好的工具类,欢迎提交PR 作者微博: @海淀区小鬼风尘 ##增加常用库的README_LIB常用库 内容说明 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabaseOpenHelper 目录资源获取 Base64 加密 BitmapUtil 获取Bitmap和对Bitmap的操作 Cha
我试图在我的表中插入一条新记录 DSLContext类型中的方法newRecord(Table, Object)不适用于参数(String, ModelBook) 但是和这个一样:http://www.jooq.org/doc/2.5/manual/sql-execution/fetching/pojos/ 所以我不能做:
我正在Spring 4应用程序中使用jOOQ 3.8.4和PostgreSQL 9.5。我有下表和类型定义 然后我尝试使用jOOQ插入,即: 然后我得到: 我做错了什么? 更新 我尝试按照Lukas的建议重命名shop.money类型(从到),但我相信问题与模式有关。请参阅更新的错误。 也许类型中的类型是一个问题!