mybatis常用配置——resultMap
来源:互联网 发布:淘宝刷到单被骗咋追回 编辑:程序博客网 时间:2024/06/05 14:07
mybatis中的查询sql查询出来的列如果和pojo对象中的字段一一对应且都是简单类型时,就可以用resultType来配置返回的结果。
但是经常是pojo对象中包含另外一个pojo对象或者pojo对象里包含一个list对象,这种情况下就要用到resultMap这个功能。
1.POJO对象:
pojo对象:
public class ProductDTO { private Integer id ; private String productName ; //get、set方法...}
mapper.xml:
<resultMap type="com.xy.domain.ProductDTO" id="productResult"> <id column="ID" property= "id" /> <result column="PRODUCT_NAME" property= "productName"/></resultMap><!-- 使用resultType或者resultMap都可以 --><!-- <select id="getProductById" parameterType=" int" resultType="com.xy.domain.productDTO">--><select id= "getProductById" parameterType ="int" resultMap="productResult" > select id,product_name from product <where> id = #{id} </where></select>
2.pojo包含pojo对象:
pojo对象:
public class ProductDTO { private Integer id ; private String productName ; private ProductDetailDTO productDetail ; //get、set方法}
public class ProductDetailDTO { private int id ; private int productId ; private String productPic ; private String productPrice ; //get、set方法}mapper.xml:
<resultMap type="com.xy.domain.ProductDTO" id="productResult"> <id column="id" property= "id" /> <result column="product_name" property= "productName"/> <!-- 1对1关系映射 --> <association property="productDetail" column="id" javaType="com.xy.domain.ProductDetail"> <id column="product_detail_id" property= "id"/> <result column="product_id" property= "productId"/> <result column="product_price" property= "productPrice"/> <result column="product_pic" property= "productPic"/> </association></resultMap><select id= "getProductById" parameterType ="int" resultMap="productResult" > select p.id, p.product_name, pd.id product_detail_id, pd.productId product_id, pd.product_price, pd.product_pic from product p,product_detail pd <where> p.id = #{id} and p.id = pd.product_id </where></select>
3.pojo包含List对象:
pojo对象:
public class ProductDTO { private Integer id; private String productName; private List<ProductDetailDTO> productDetailList; //get、set方法 }
public class ProductDetailDTO { private int id; private int productId; private String productPic; private String productPrice; //get、set方法}mapper.xml:
<resultMap type="com.xy.domain.ProductDTO" id="productResult"> <id property="id" column="id"/> <result property="productName" column="product_name"/> <!-- 1对多关系映射 --> <collection property="productDetailList" column="id" javaType="com.xy.domain.ProductDetailDTO" > <id property="id" column="product_detail_id"/> <result property="productId" column="product_id"/> <result property="productPic" column="product_pic"/> <result property="productPrice" column="product_price"/> </collection></resultMap><select id= "getProductById" parameterType ="int" resultMap="productResult" > select p.id, p.product_name, pd.id product_detail_id, pd.productId product_id, pd.product_price, pd.product_pic from product p,product_detail pd <where> p.id = #{id} and p.id = pd.product_id </where></select>总结:一个resultMap里面可以包含多个一对一和一对多的关系的组合。Collection或者association都可以将javaType换成另外一个引入的resultMap。
0 0
- mybatis常用配置——resultMap
- 【Mybatis】——ResultMap学习
- mybatis(一对一配置 resultMap)
- mybatis中resultMap配置细则
- MyBatis Mapper.xml配置 ResultMap
- MyBatis——【resultType和resultMap】
- Mybatis——resultMap的使用方法
- Mybatis 配置resultMap 查询全部sql
- Mybatis中resultMap输出mapper中的配置
- mybatis SqlMapper resultmap配置timestamp类型
- 博为峰JavaEE技术文章 ——MyBatis Mapper ResultMap
- MyBatis实战——resultMap,resultType简介,关联对象
- mybatis resultmap
- resultMap mybatis
- mybatis:resultMap
- MyBatis学习总结(13)——Mybatis查询之resultMap和resultType区别
- myBatis ibatis 查询多行结果集 resultMap 配置
- mybatis--mapper映射文件配置之select,resultMap
- 文章标题
- Maven Pom 文件中的隐式依赖导致Jar冲突
- [俄勒冈大学]养成Python写作习惯
- Codeforces Round #338 (Div. 2)B. Longtail Hedgehog解题报告
- java中static{}块
- mybatis常用配置——resultMap
- [R] R package "benchmark"
- mysql---逻辑和数据库设计及权限
- GitHub-入门
- [学习笔记-Android]自用签到工具(一)
- LeetCode Jump Game II
- 数据库第三范式
- mybatis常见问题
- mybatis动态sql