Mybaits利用resultMap实现一对多
来源:互联网 发布:java构造器怎么理解 编辑:程序博客网 时间:2024/05/23 23:46
对于一对多的resultMap的定义
调用resultMap
mapper中的接口
Test
<resultMap type="dancheng.mybatis.po.Orders" id="OrderUserResultMap"> <!-- 配置映射的订单信息 --> <id column="id" property="id" /> <result column="user_id" property="userId" /> <result column="number" property="number" /> <result column="createtime" property="createtime" /> <result column="note" property="note" /> <!-- 配置映射关联信息 --> <!-- association:用于映射关联查询单个对象的信息 property:要将关联查询的用户信息映射到Orders中哪个属性 --> <association property="user" javaType="dancheng.mybatis.po.User"> <!-- id:关联查询用户的唯一标识 --> <id column="user_id" property="id" /> <result column="username" property="username" /> <result column="sex" property="sex" /> <result column="address" property="address" /> </association></resultMap><!-- 查询订单及订单明细的resultMap --><resultMap type="dancheng.mybatis.po.Orders" id="OrderAndOrderDetailResultMap" extends="OrderUserResultMap"> <!-- 订单信息 --> <!-- 用户信息 --> <!-- 订单明细信息 一个订单关联查询出了多条明细 ,要是用collocation进行映射 collocation:对关联查询到的多条记录映射到集合对象中 porperty:将关联查询到多条记录映射到dancheng.mybatis.po.Orders的哪个属性 ofType:指定映射到list集合属性中pojo的类型 --> <collection property="orderdetails" ofType="dancheng.mybatis.po.Orderdetail"> <!-- 订单明细的唯一标识 --> <id column="id" property="id"/> <result column="items_id" property="itemsId"/> <result column="items_num" property="itemsNum"/> <result column="orders_id" property="ordersId"/> </collection> </resultMap>
调用resultMap
<select id="findOrderAndOrderDetailResultMap" resultMap="OrderAndOrderDetailResultMap"> SELECT orders.*, user.username, user.sex, user.address, orderdetail.* FROM orders, USER, orderdetail WHERE orders.user_id = user.id AND orderdetail.orders_id = orders.id</select>
mapper中的接口
public List<Orders> findOrderAndOrderDetailResultMap() throws Exception;
Test
public class OrdersMapperCustomTest { private SqlSessionFactory sqlSessionFactory; @Before public void setUp() throws Exception { InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } @Test public void testFindOrderAndOrderDetailResultMap() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); OrdersMapperCustom ordersMapperCustom = sqlSession.getMapper(OrdersMapperCustom.class); List<Orders> orderList = ordersMapperCustom.findOrderAndOrderDetailResultMap(); System.out.println(orderList); }}
0 0
- Mybaits利用resultMap实现一对多
- Mybaits利用resultMap实现一对一
- Mybaits利用resultMap实现多对多查询
- mybaits中resultMap实现多对多查询映射
- mybaits 一对多 关联查询
- MyBatis用嵌套ResultMap实现一对多映射
- Mybaits的resultMap详解
- MyBaits关联查询一对一、一对多
- MyBaits一对一,一对多表操作
- mybaits一对多的关系学习
- 使用mybaits一对多表查询
- JavaEE_Mybatis_SpringMVC_Mybatis_lesson12_一对多关联映射(ResultMap)
- Mybatis一对多查询resultMap示例
- mybatis使用resultMap实现一对多查询 (需求:查询订单以及订单明细)
- Mybaits中一对多,多对多的查询使用
- Ibatis/MyBaits 1:N 一对多关系 处理
- Mybaits--一对多关系配置文件(带源码)
- mybaits----多表查询实现
- Island Perimeter
- java进行异常处理时的注意事项
- 移动前端开发之viewport的深入理解(总结)
- [leetcode]25. Reverse Nodes in k-Group
- RabbitMQ学习(二)---------请求许可
- Mybaits利用resultMap实现一对多
- 数据中心传回的信息对源节点进行控制(一)
- 怎么使用easy_ui搭建后台ui--初试牛刀(上)登陆页面的搭建
- 详解Photoshop中标尺工具和参考线的使用方法
- QML RowLayout
- iOS 长按手势响应执行两次解决办法
- querySelectorAll 和 getElementByTagName()等方法的区别
- 一些java基础
- Java开发代码性能优化