当前位置: 代码迷 >> 综合 >> mybatis延迟加载以及失效问题,总是null值的问题
  详细解决方案

mybatis延迟加载以及失效问题,总是null值的问题

热度:49   发布时间:2023-09-21 17:58:10.0

 

延迟加载失败:总是提前加载完成的原因——配置,前两个一般都会配置好,最后一个如果用打印输出的方式可能会导致提前输出,配置第三项后则只要不打印改属性,就不会触发

<settings><!--开启延迟加载--><setting name="lazyLoadingEnabled" value="true"/><!--关闭立即加载--><setting name="aggressiveLazyLoading" value="false"/><!--当调用配置中的方法时,加载全部的延迟加载数据。如:equals,clone,hashCode,toString--><setting name="lazyLoadTriggerMethods" value="true"/>
</settings>

 

 

延迟加载的SQL语句执行总是null值的问题?

很坑,坑在于要延迟的select语句的resultType不要用,要用   resultMap="XXXResultMap"

其实你只要关闭延迟加载就能发现,不是延迟加载的问题,是自己写错了

<select id="selectStaff" parameterType="java.lang.Integer" resultType = "com.mura.db.model.Staff>select*from staffwhere id = #{id,jdbcType=INTEGER}
</select>

 

 

 

 

 

  相关解决方案