===================resultMap:实体类的属性和通过resultMap映射后的property属性一致

<resultMap id="workerSelect" type="com.eaju.soms.entity.vo.WorkerSelectEntity">
  <result column="worker_id" property="workerId" jdbcType="VARCHAR" />
  <result column="NAME" property="workerName" jdbcType="VARCHAR" />
  <result column="phone" property="workerPhone" jdbcType="VARCHAR" />
 </resultMap>

<select id="getSelectWorkers" resultMap="workerSelect">
     SELECT t.`worker_id`,t.`name`,t.`phone` FROM t_workers t WHERE  t.certification_status = 1 AND t.is_locking = 0 AND t.is_delete = 0 AND t.user_status = 1 AND t.`leader_id`=#{leaderId}
 </select>

------------------------------------------resultMap关联两个实体类:<collection>

<resultMap id="userMap" type="org.tedu.cloudnote.entity.User">

<id property="cn_user_id" column="cn_user_id">

<result property="cn_user_name" column="cn_user_name"/>

.................

<!-- 指定books属性装载数据-->

<collection property="books" javaType="java.util.list" ofType="org.tedu.cloudnote.entity.Book">

<id property="cn_notebook_id" column="cn_notebook_id"/>
  <result property="cn_user_id" column="cn_user_id"/>
  <result property="cn_notebook_type_id" column="cn_notebook_type_id"/>
  <result property="cn_notebook_name" column="cn_notebook_name"/>

</collection>

</resultMap>

<select id="findUserAndBooks"
parameterType="string" resultMap="userMap">
select *
from cn_user u
 join cn_notebook b
 on(u.cn_user_id=b.cn_user_id)
where u.cn_user_id=#{userId}
</select>

-----------------------------entity

public class User implements Serializable

{
 private String cn_user_id;
 private String cn_user_name;
 private String cn_user_password;
 private String cn_user_token;
 private List<Book> books;

}

----------------------------------------------

<resultMap id="bookMap"  type="org.tedu.cloudnote.entity.Book">
 <id property="cn_notebook_id" column="cn_notebook_id"/>
 <result property="cn_user_id" column="cn_user_id"/>
.....
 <!-- 加载user关联属性值 -->
 <association property="user"
 javaType="org.tedu.cloudnote.entity.User">
  <id property="cn_user_id" column="cn_user_id"/>
  <result property="cn_user_name" column="cn_user_name"/>
..........................
 </association>
</resultMap>

<!-- 提取所有笔记信息 -->
<select id="findAllBooksAndUser"  resultMap="bookMap">
   select *
   from cn_notebook b
    join cn_user u
   on(b.cn_user_id=u.cn_user_id)
</select>

======================resultType:实体类的属性必须和数据库的字段一致

<select id="findById" parameterType="string"
resultType="org.tedu.cloudnote.entity.Note">
select * from cn_note
where cn_note_id=#{noteId}
</select>

public class Note implements Serializable

{
 private String cn_note_id;
 private String cn_notebook_id;
 private String cn_user_id;
 private String cn_note_status_id;
 private String cn_note_type_id;
 private String cn_note_title;
 private String cn_note_body;
 private Long cn_note_create_time;
 private Long cn_note_last_modify_time;

}

======================insert

<insert id="insertOperateLog"    parameterType="com.eaju.soms.entity.TWorkOrderOperateLog">
  INSERT INTO t_work_order_operate_log (
  operate_log_id,
  work_order_id,
  operate_id,
  operate_status,
  operate_display,
  remark,
  create_time
  )
  VALUES
  (#{operateLogId},#{workOrderId},#{operateId},#{operateStatus},#{operateDisplay},#{remark},#{createTime})
 </insert>

====================update

<update id="quitWorkOrder">
 UPDATE t_work_order_transform t
 SET t.`transform_status` = 'INACTIVE',
  t.`update_time` = now()
    WHERE t.work_order_owner_id=#{leaderId}
    AND t.work_order_id=#{workOrderId}
 </update>

---------------------------------------------------entity

public class Book implements Serializable

{  private String cn_notebook_id;  private String cn_user_id;  private String cn_notebook_type_id;  private String cn_notebook_name;  private String cn_notebook_desc;  private Timestamp cn_notebook_createtime;  //追加关联属性,加载User信息  private User user;

}

resultMap / resultType的更多相关文章

  1. ibatis中的resultClass,parameterClass,resultMap,resultType的使用与区别

    parameterClass 是参数类.指定了参数的完整类名(包括包路径).可通过别名避免每次重复书写冗长的类名. resultClass 是结果类, 二.resultClass取值 1.result ...

  2. Mybatis第七篇【resultMap、resultType、延迟加载】

    resultMap 有的时候,我们看别的映射文件,可能看不到以下这么一段代码: <resultMap id="userListResultMap" type="us ...

  3. 在mybatis中resultMap与resultType的区别

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMapresultType是直接表示返回类型的,而resultMap则是对外部ResultMa ...

  4. Mybatis使用时 resultMap与resultType、parameterMap与 parameterType的区别

    Map:映射:Type:Java类型  resultMap 与 resultType.parameterMap 与  parameterType的区别在面试的时候被问到的几率非常高,出现的次数到了令人 ...

  5. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  6. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap good

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  7. Mybatis-利用resultMap 输出复杂pojo

    个:复杂的sql语句查询的数据集的字段和 pojo的字段不相同,需要用到resultMap做一个对应. ---------------- mybatis中使用resultMap完成高级输出结果映射. ...

  8. Mybatis 系列8-结合源码解析select、resultMap的用法

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  9. Mybatis中parameterType、resultMap、statementType等等配置详解(标签中基本配置详解)

    一.(转自:https://blog.csdn.net/majinggogogo/article/details/72123185) 映射文件是以<mapper>作为根节点,在根节点中支持 ...

随机推荐

  1. inline-block元素的空白间距

    inline-block元素的空白间距 html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

  2. jQuery判断某个元素是否存在某个样式

    <input type="button" class="new"/> $("input[name=new]").hasClass ...

  3. MOGRE学习笔记(2) - MOGRE基础知识总结

    前一篇配置了MOGRE的运行环境,这里记录一些MOGRE基础知识,仅仅是最基础的一些东西.由于本人接触ogre的时间比较短,对于很多知识都是一知半解,所以理解起来不免会有一些错误,本人也希望自己在对o ...

  4. javascript:void(0)和javascript:;的用法

    一.JavaScript:void(0) 我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢 ...

  5. SQLserver 表字段修改语句

    增加字段 ) 删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 修改字段类型 ALTER TABLE table_name ALTER COLUM ...

  6. iOS调用HTML

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Tigase Server Clustering

    首先,在服务器上启用集群 修改init.properties --cluster-mode=true 自定义端口 允许自定义,但是所有的实例都要使用相同的端口,以便通讯 --cl-comp-ports ...

  8. Sql清理日志文件

    场景: 我们导入MR数据时发现磁盘空间不够用了,导致的结果就是我们的程序很可能会抛出异常了,我们需要导入数据的时候进行日志瘦身. 问1:导入数据的时候,瘦身是否会造成数据库的异常? DBA提供解决方案 ...

  9. 从零开始PHP攻略(2)——操作符与迭代整理

    目录: 10.操作符整理 11.表单计算代码 12.优先级与结合性 13.可变函数 14.条件判断 15.循环迭代 16.跳出控制 17.可替换的控制结构 10.操作符 10.1 算术操作符 算术操作 ...

  10. 单链表的回文判断(O(n)时间复杂度和O(1)的空间复杂度)

    对于单链表来说,判断回文最简单的方法就是遍历链表,将链表中的元素复制到数组中,然后对数组进行判断是否是回文数组,但是这不符合O(1)的空间复杂度. 由于空间复杂度的要求,需要就地操作链表,不能开辟多余 ...