resultMap 映射

Posted 子鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了resultMap 映射相关的知识,希望对你有一定的参考价值。

1. sql的重用:定义一个sql片段,可在任何SQL语句中重用该片段。

[java] view plain copy
 
  1. <sql id="personColumns"> name, sex, updateTime</sql>  
  2. <select id="selectPerson" parameterType="int" resultType="hashmap">  
  3.     select id, <include refid="personColumns"/> from person where id =#{id};  
  4. </select>  

2. javabean别名:不用每次写包路径

[java] view plain copy
 
  1. <!-- In Config XML file,定义 -->  
  2. <typeAlias type=”com.someapp.model.User” alias=”User”/>  
  3. <!-- In SQL Mapping XML file,使用 -->  
  4. <select id=”selectUsers” parameterType=”int” resultType=”User”>  
  5.     select id, username, hashedPassword from some_table where id = #{id}  
  6. </select>  

3. 表与实体列名不匹配的解决

a) SQL的别名
[java] view plain copy
 
  1. <select id=”selectUsers” parameterType=”int” resultType=”User”>  
  2. select user_id as "id", user_name as userName, hashed_password as hashedPassword from some_table where id = #{id}  
  3. </select>  
b)定义外部的resultMap
[java] view plain copy
 
  1. <resultMap id="userResult" type="User">  
  2.     <id property="id" column="_id" />  
  3.     <result property="name" column="_name" />  
  4.     <result property="password" column="_password" />  
  5. </resultMap>  
  6.   
  7. <select id="selectUser" parameterType="int" resultMap="userResult">  
  8.     select _id, _name, _password from _user where _id =#{id};  
  9. </select> 

以上是关于resultMap 映射的主要内容,如果未能解决你的问题,请参考以下文章

spring框架 映射文件标签

mybatis - resultMap

19_高级映射:一对多查询(使用resultMap)

resultMap的使用

java ibatis中resultMap 列中列使用select出字符串集合映射到列变量问题,请教大家,例:

[mybatis]select_resultMap_自定义结果集映射规则