mybatis:懒加载

懒加载定义

按需加载,需要的时候再加载

案例

以cid查询一个班级,然后得到班级的信息,但是暂时不获取student的信息,当用到student时才去查询数据

使用

在需要懒加载的select语句后: ,+fetchType= FetchType.LAZY

	//一对多
	//以班级id,找到该班级及所有的学生
	@Select("select * from clazz")   //cid cname
	@Results({
		@Result(id=true,column="cid",property="cid"),
		@Result(column="cname",property="cname"),
		@Result(column="cid",property="students",many=@Many(
			select="selectStudentsByCid",
			fetchType=FetchType.LAZY		//指定获取的类型为懒加载
		))
	})
	public List<Clazz> allClazz();
复制代码
注意

mybatis里虽然用了fetchType,但是不管访问哪个属性,都会将所有属性的值查询出来,即是用了懒加载属性。 这时,需要在主配置文件 mabatis-config.xml的中添加:

<setting name="aggressiveLazyLoading" value="false"/>
复制代码

转载于:https://juejin.im/post/5c74bbdce51d4512c37e9f40

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值