Mybatis中resultMap标签解释

表单:

javaBean:

package com.pojo;

public class Product {
	private String orderId;
	private String product;
	
}
package com.domain;

import java.util.List;

public class Order {
	private String userId;
	private String orderId;
	
	private List<Product> products;
}

 

 resultMap标签解释案例:

<!-- 
		要求:查询用户的订单信息(每个用户有多张订单,每张订单有多个商品)
		步骤:
		1.先从order表中根据user_id查出user_id 
		2.根据查出的user_id去product表中查出商品信息
	-->
	
	<!-- 标签解释: 此处的type是指Order类的类型。
	         由于mybatis的配置文件中使用了别名标签,所有包名可以省略,只写类名即可 -->
	<resultMap type="Order" id="orderRM">
	<!-- 标签解释: 此处的property是指Order中的属性, column是指order表格中的字段名。
		  查询结果主键对应关系 剩下交给驼峰命名封装-->
	<id property="orderId" column="order_id" />
	<!-- 标签解释: 此处的property是Order中的属性,由于products的类型是一个集合,所以此处采用<collection>标签
		javaType是指products属性的类型,ofType是指products属性的泛型的类型,select是指定当前property属性
		是调用哪个方法查出的结果,column是指定将order表中哪一列的值作为参数传给这个方法。
		注:一对多时使用<collection>标签,多对一时使用<association>标签-->
	<collection  property="products" javaType="List" 
	ofType="Product" column="order_id" select="queryProduct"></collection>
	</resultMap>
	
	<select id="queryOrder" parameterType="String" resultMap="orderRM">
		select * from order where user_id=#{userId};
	</select>
	<select id="queryProduct" parameterType="String" resultType="Product">
		select * from product where order_id=#{orderId};
	</select>

 

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值