在MyBatis中进行延迟加载可以通过配置来实现。延迟加载是指在需要使用某个属性时才去查询数据库加载该属性的值,而不是在查询主实体时就将所有相关属性都加载出来。
在MyBatis中可以通过使用
<association property="author" column="author_id" javaType="Author" fetchType="lazy"/>
<collection property="comments" column="post_id" ofType="Comment" fetchType="lazy"/>
<association property="author" column="author_id" javaType="Author" fetchType="eager"/>
<collection property="comments" column="post_id" ofType="Comment" fetchType="eager"/>
需要注意的是,延迟加载需要在MyBatis的配置文件中开启延迟加载功能,可以通过设置lazyLoadingEnabled和aggressiveLazyLoading属性为true来开启。
<settings>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="true"/>
</settings>
通过在映射文件中配置fetchType属性和在配置文件中开启延迟加载功能,就可以实现在MyBatis中进行延迟加载。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Mybatis tenant功能怎样进行测试