一对多映射

需求:查询订单信息,关联查询订单明细信息和用户信息 一对多 resultMap


sql:

主信息:orders 从信息:orderdetail user


select 
orders.id,
orders.user_id,
orders.number, 
user.username,
user.sex ,
orderdetail.id  detailId,
orderdetail.items_id ,
orderdetail.items_num
from orders , user  , orderdetail
where 
orders.user_id = user.id and orders.id =  orderdetail.orders_id

1修改扩展类

	private List<Orderdetail> detaiList ;
	
	public List<Orderdetail> getDetaiList() {
		return detaiList;
	}
	public void setDetaiList(List<Orderdetail> detaiList) {
		this.detaiList = detaiList;
	}


2映射文件

<resultMap type="cn.itcast.po.OrderExt" id="OrderAndDetailRstMap" extends="OrderAndUserRstMap">
<!-- 订单明细信息 -->
<collection property="detaiList" ofType="cn.itcast.po.Orderdetail">
<id column="detailId" property="id"/>
<result column="items_id" property="itemsId"/>
<result column="items_num" property="itemsNum"/>
</collection>
</resultMap>

<select id="findOrderAndDetailRstMap" resultMap="OrderAndDetailRstMap">

select 
orders.id,
orders.user_id,
orders.number, 
user.username,
user.sex ,
orderdetail.id  detailId,
orderdetail.items_id ,
orderdetail.items_num
from orders , user  , orderdetail
where 
orders.user_id = user.id and orders.id =  orderdetail.orders_id
</select>


3OrderMapper接口

public List<OrderExt> findOrderAndDetailRstMap();


4测试

	
	@Test
	public void testFindOrderAndDetailRstMap() {
		SqlSession sqlSession = sqlSessionFactory.openSession();
		OrdersMapper ordersMapper = sqlSession.getMapper(OrdersMapper.class);
		List<OrderExt> list = ordersMapper.findOrderAndDetailRstMap();
		sqlSession.close();
	}
	


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值