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

  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别名:不用每次写包路径

  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的别名
  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
  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. <select id="selectUser" parameterType="int" resultMap="userResult">
  7. select _id, _name, _password from _user where _id =#{id};
  8. </select>

resultMap 映射的更多相关文章

  1. mybatis resultMap映射学习笔记

    这几天,百度mybatis突然看不到官网了,不知道百度怎么整的.特此贴出mybatis中文官网: http://www.mybatis.org/mybatis-3/zh/index.html 一个学习 ...

  2. MyBatis关联查询,表字段相同,resultMap映射问题的解决办法

    问题描述:在使用mybatis进行多表联合查询时,如果两张表中的字段名称形同,会出现无法正常映射的问题. 问题解决办法:在查询时,给重复的字段 起别名,然后在resultMap中使用别名进行映射. 给 ...

  3. Mybatis结果集ResultMap映射

    基本使用: 解决属性名和数据库字段名不一致的问题 <resultMap id="user" type="com.guan.bean.UserBean"&g ...

  4. mybatis resultMap 映射配置

    现有数据库表: CREATE TABLE `dept_p` ( `DEPT_ID` ) NOT NULL, `DEPT_NAME` ) DEFAULT NULL, `PARENT_ID` ) DEFA ...

  5. mybatis - 基于拦截器修改执行语句中的ResultMap映射关系

    拦截器介绍 mybatis提供了@Intercepts注解允许开发者对mybatis的执行器Executor进行拦截. Executor接口方法主要有update.query.commit.rollb ...

  6. 【mybatis源码学习】ResultMap查询结果映射

    一.ResultMap包含的元素 constructor - 用于在实例化类时,注入结果到构造方法中 idArg - ID 参数:标记出作为 ID 的结果可以帮助提高整体性能 arg - 将被注入到构 ...

  7. mybatis入门基础(六)----高级映射(一对一,一对多,多对多)

    一:订单商品数据模型 1.数据库执行脚本 创建数据库表代码: CREATE TABLE items ( id INT NOT NULL AUTO_INCREMENT, itemsname ) NOT ...

  8. MyBatis关联查询 (association) 时遇到的某些问题/mybatis映射

    先说下问题产生的背景: 最近在做一个用到MyBatis的项目,其中有个业务涉及到关联查询,我是将两个查询分开来写的,即嵌套查询,个人感觉这样更方便重用: 关联的查询使用到了动态sql,在执行查询时就出 ...

  9. 20Mybatis_订单商品数据模型_一对一查询——resultType和resultMap两种方式以及两种方式的总结

    上一篇文章分析了数据模型,这篇文章就给出一个需求,这个需求是一对一查询,并完成这个需求. ------------------------------------------------------- ...

随机推荐

  1. 在c#中使用指针

    如果想在c#中使用指针,首先对项目进行配置:在解决方案资源管理器中右击项目名选择属性(或在项目菜单中选择consoleApplication属性(consoleApplication为项名)),在生成 ...

  2. ipad

    1. ipad pro 与 ipad air2 时间已经是2016.12.9, 苹果还没有推出新的ipad产品,有些纠结于哪款更适合自己,总结下产品不易获取的核心配置信息 ipad air2 ram ...

  3. Local gulp not found in.. on windows

    当出现报错时,请按如下方式安装 gulp 以下使用国内的淘宝镜像安装: $ # Step 1 $ cnpm install -g gulp $ # Step 2 $ cnpm install --sa ...

  4. Vue.js之v-for

    v-for标签可以用来遍历数组,将数组的每一个值绑定到相应的视图元素中去,此外,v-for还可以遍历对象的属性,并且可以和template模板元素一起使用. 一.迭代数组 html: <ul&g ...

  5. Spinner

    资源的方式添加 安卓中的下拉框 Spinner可以通过xml string中配置 <string-array name="spingarr"> <item> ...

  6. 解决:编译CM14.1 提示Jack “Out of memory error”错误

    Android 7.1编译到33%时出现JDK内存溢出的错误: Out of memory error (version f95d7bdecfceb327f9d201a1348397ed8a84384 ...

  7. Thinking in java学习笔记之String的不可变性

    为了提高效率,可以使用StringBuffer或StringBuilder 1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与 ...

  8. svn 上传出现Cannot accept non-LF lind endings in 'svn:log'

    可能是你到cimmit日志的字有svn不认的,重新把长传日志删掉,重新敲一遍就好了

  9. MVC复杂模型绑定

    当初遇到业务需求ajax提交一组对象数组到服务器.但是苦于mvc的默认绑定器.绑定不上去.好吧只有靠自己了. 当初就是参考这个大大的博客:http://www.cnblogs.com/xfrog/ar ...

  10. JointBoost+CRF+GraphCut做手绘草图的分割

    研究生做的稍微有点水平的就这两个项目了:一个是利用SVM做手绘草图的分类,另一个是利用JointBoost+CRF做手绘草图的分割.总结得出的经验是做研究的方法就是将别人大神的代码看懂然后改成适合自己 ...