1 整体
首先要知道mybatis的懒加载默认是可以执行的,但是为了明显最好还是在配置文件里的settings标签中设置为true即:
<settings>
<setting name="lazyLoadingEnabled" value="true"/>
</settings
2 具体到某个结果可用 fetchType=“lazy”
<collection property="articles" ofType="bean.Article" column="blog_id" fetchType="lazy" select="getArticleById"
mapper的映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.BlogMapper">
<resultMap type="bean.Blog" id="BlogMap">
<id property="id" column="blog_id"/>
<result property="blogName" column="blog_name"/>
<collection property="articles" ofType="bean.Article" column="blog_id" fetchType="lazy" select="getArticleById"
/>
</resultMap>
<resultMap type="Article" id="ArticleMap">
<id property="id" column="article_id" />
<id property="date" column="date"/>
<id property="content" column="content"/>
</resultMap>
<select id="getArticleById" parameterType="int" resultMap="ArticleMap">
select date,article_id,content from article where article.blog_id = #{id}
</select>
<select id="getBlogInfByBlogId" parameterType="bean.Blog" resultMap="BlogMap">
SELECT blog.blog_id,blog_name
FROM blog WHERE blog.blog_id=#{id}
</select>
</mapper>
作者:深秋凌冽
来源:CSDN
原文:https://blog.csdn.net/qq87034246/article/details/79979982