mybatis 懒加载
2015-08-05 21:17
471 查看
延迟加载:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/07e487b3e251d1aa51d8970af04f5f1e)
xml中的配置:
public List<Orders> findOrdersUserLazyLoading();
测试:
通过debug模式:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/6cb946c365080cce8f4a338c74ddd8f6)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/a7c048137c673b5a655fcc5a46daa55f)
xml中的配置:
<!-- #######################################延迟加载####################################################### --> <resultMap type="cn.itcast.domain.Orders" id="OrdersUserLazyLoading"> <id column="id" property="id"/> <result column="number" property="number"/> <result column="createtime" property="createtime"/> <result column="note" property="note"/> <result column="user_id" property="userId"/> <!-- select:指定延迟加载需要执行的statement的id 用到了 不同的命名空间下的id因此要使用命名空空间 column:订单信息中关联用户信息查询的列 是外键user_id --> <association property="user" javaType="cn.itcast.domain.User" select="cn.itcast.mapper.UserMapper.findById" column="user_id"> </association> </resultMap> <select id="findOrdersUserLazyLoading" resultMap="OrdersUserLazyLoading"> select * from orders </select> <select id="findOrdersUser" resultType="cn.itcast.domain.OrdersUser"> select orders.*,user.username,user.sex,user.address from orders,user where orders.user_id=user.id </select>接口中定义方法
public List<Orders> findOrdersUserLazyLoading();
测试:
@Test public void testfindOrdersUserLazyLoading(){ SqlSession sqlSession = sqlSessionFactory.openSession(); OrdersMapperUser ordersMapperUser = sqlSession.getMapper(OrdersMapperUser.class); List<Orders> list = ordersMapperUser.findOrdersUserLazyLoading(); //遍历上面的list for(Orders order:list){ User user = order.getUser(); System.out.println(user); } }测试分析:
通过debug模式:
相关文章推荐
- POJ 3984 迷宫问题(bfs+路径记录)
- java多线程之volatile关键字
- uva 10020
- Mac 10.10 web环境配置之php+mysql小结
- Catch That Cow
- sourceIsight创建大量工程时的注意事项
- UE4蓝图术语表
- poj1631 dp 最长上升子序列LIS
- 网站大背景(按比例缩放背景图片)
- 模板——矩阵快速幂
- iOS- 如何将应用集成发短信、发邮件、打电话
- tomcat进程意外退出的问题分析
- c++封装线程池
- ios 图片缩放失真 (1)
- mac中安装activeMQ
- LeetCode(13) Roman to Integer
- Mac 安装 MySQL
- Minimal coverage(贪心,区间覆盖)
- LeetCode(13) Roman to Integer
- 【方言】Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set