标签:xml文件 一个 第一个 关联关系 分享 mybatis 建立 技术 多对一
①、启动懒加载,mybatis初始化返回类型的时候,会返回一个cglib代理对象,该对象的关联对象(例如一对多,多对一)相关信息就会在loadpair里边,并且添加到loadmap中,cglib对象会过滤get,set ,is,"equals", "clone", "hashCode", "toString"触发方法,然后才会调用loadpair来加载关联对象的值。所以我们必须在进行懒加载的时候必须要导入相应的jar包,不然会报错。
②、其实通过上面的例子,我们很好理解懒加载的原理,就是按需加载。我们需要什么信息的时候再去查。而不是一次性查询所有的。将复杂的关联查询分解成单表查询,然后通过单表查询的结果去关联查询。
那么不用mybatis的懒加载我们也可是实现上面的例子:
一、定义两个mapper方法
1、查询订单列表
2、根据用户 id 查询用户信息
二、先去查询第一个mapper方法,获取订单信息列表,然后放入到一个集合中
三、如果需要用户信息,那么在程序中,我们可以遍历订单信息,得到用户id,然后通过id去查询用户信息。
这与mybatis懒加载的区别就是,mybatis是在mapper.xml文件中配置好关联关系了,我们直接调用就好了。而自己实现的原理就是手动去建立关联关系。
标签:xml文件 一个 第一个 关联关系 分享 mybatis 建立 技术 多对一
原文地址:http://www.cnblogs.com/zcscnn/p/7767997.html