JavaEE_Mybatis_SpringMVC_Mybatis_ResultMap 与 ResultType应用场合选择
来源:互联网 发布:图片上加字的软件 编辑:程序博客网 时间:2024/06/08 09:08
Mybatis中 ResultType与ResultMap有一定的不同,不同的场景选择不同
ResultType
示例:
<sql id="query_user_where"><if test="userCustom!=null"><if test="userCustom.sex!=null and userCustom.sex!=''">AND user.sex = #{userCustom.sex}</if><if test="userCustom.username!=null and userCustom.username!=''">AND user.username like'%${userCustom.username}%'</if></if></sql>
<select id="findUserCount" parameterType="cn.itcast.mybatis.po.UserQueryVo"resultType="int">SELECT COUNT(*) FROM user WHERE user.sex = #{userCustom.sex} ANDuser.username like'%${userCustom.username}%'<!-- where 可以自动去掉第一个and --><where><include refid="query_user_where"></include></where></select>
使用注意
1.在数据库SQL查询出来的字段必须与java对象的属性名完全一致,否则取不到数据
作用:
将查询结果按照 sql列名和 pojo属性名一致性映射到Pojo中。
场合:
常见一些明细记录的展示
ResultMap
示例:
<collection property="orderlist" ofType="cn.itcast.mybatis.po.Orders"><!--private Integer id;private Integer userId;private String number;private Date createtime;private String note; --> <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"/> <collection property="orderdetails" ofType="cn.itcast.mybatis.po.Orderdetail"> <!-- private Integer id;private Integer ordersId;private Integer itemsId;private Integer itemsNum;// 商品的Items信息private Items items; --> <id column="orderdetail_id" property="id"/> <result column="items_id" property="itemsId"/> <result column="items_num" property="itemsNum"/> <association property="items" javaType="cn.itcast.mybatis.po.Items"> <!-- private Integer id; private String name; private Float price; private String pic; private Date createtime; private String detail; --> <id column="items_id" property="id"/> <result column="items_name" property="name"/> <result column="items_detail" property="detail"/> <result column="items_price" property="price"/> </association> </collection></collection> </resultMap>
<select id="findUsersAndItemsResultMap" resultMap="UsersAndItemsResultMap">SELECTorders.*,user.username,user.sex,user.address,orderdetail.id orderdetail_id,orderdetail.items_id,orderdetail.items_num,orderdetail.orders_id,items.name items_name,items.detail items_detail,items.price items_priceFROMuser,orders,orderdetail,itemsWHEREorders.user_id = user.idAND orderdetail.orders_id = orders.idAND orderdetail.items_id = items.id</select>
使用注意
1.可以利用 column(数据库查询出来的字段) 与 property (Java对象中的字段)进行映射。
2.association , collection
association 将关联查询信息映射到一个pojo 对象中。
collection 将关联查询的信息映射到一个list 集合中。
场合:
1. 与订单关联的用户 一起的信息
2. 用户购买的商品
0 0
- JavaEE_Mybatis_SpringMVC_Mybatis_ResultMap 与 ResultType应用场合选择
- 选择接口还是抽象类?---应用实例说明接口与抽象类的应用场合(区别)
- 选择接口还是抽象类?---应用实例说明接口与抽象类的应用场合(区别)
- 反射的应用场合与性能
- 接口与抽像类的应用场合
- resultType与resultMap
- resultType与resultMap区别
- ejb与javaBean的区别以及应用场合
- RCP的应用场合
- xml的应用场合
- traits的应用场合
- Annotation的应用场合
- java反射应用场合
- undefined、null应用场合
- ServletContext的应用场合
- 各种排序应用场合
- Struts2— Result与ResultType
- MyBatis中 resultType与resultMap
- Linux学习笔记--4.Linux 目录结构及文件基本操作
- Redis集群配置遇到的问题
- C++this指针的用法
- 关于实验常用验证方法
- Runnable接口创建多线程例子
- JavaEE_Mybatis_SpringMVC_Mybatis_ResultMap 与 ResultType应用场合选择
- ionic搭建应用模板框架
- maven多模块划分
- Maven install 出错解决方法
- Maven划分模块
- 【Leetcode】之Search for a Range
- 在数据库中,并发控制有乐观锁和悲观锁之间,什么时候用乐观锁比较好什么时候用悲观锁比较好?
- 分布式一致性算法 Paxos算法细节详解(一)
- Android研究院之应用开发线程池的经典使用