mybatis的输出映射支持两种形式,一种形式为resultType,一种形式为resultMap。

>resultType

之前所做操作返回值类型映射都是使用resultType形式完成的,不管是返回单个Java对象还是返回Java的List集合,resultType都是指向一个Java Bean对象。只不过具体是返回一个对象还是返回一个集合必须在mapper接口的方法的返回值类型中指明。这是因为mybatis在生成的动态代理对象中,是根据返回值类型来确定是调用selectOne方法还是selectList方法。

需要注意的是,Java Bean的属性名称必须与查询结果的字段表保持一致才可以映射成功,如果对应不一致的,则Java Bean对应的属性的值基本类型为0或false,引用类型为null。

resultType属性还可以指定为简单类型,如Java的基本数据类型或String字符串。例如获取查询结果的所有记录的总条数。

resultType属性还可以指定为hashMap,这个很好理解。无非就是将查询的结果的每条记录,都映射为一个HashMap对象,字段名为key值,字段值为value值。

注意:如果是执行联合查询的结果,查询数据是从多个表中筛选出来的,而且字段名也进行了重命名,则可以考虑使用resultType的属性为hashMap。因为使用hashMap不需要考虑字段名,映射为hashMap对象时,是以最终的查询结果的字段名为准作为key值对应的。

>resultMap

基本用法:将查询结果集中的列名与输出映射对应pojo对象的属性名 进行关联映射。

在mybatis框架中,首先定义一个resultMap元素,该元素包含两个主要属性,type和id,type表示该resultMap元素所对应的POJO的类型,id表示resultMap的唯一标识名。在resultMap元素下还包括两个重要子元素。

  • id元素:查询结果集的唯一标识列,即主键列。
  • result元素:查询结果集的普通列。

两个元素都包含相同的属性:其中主要使用column和property属性,column表示查询结果的列名,property表示resultMap元素type属性所对应的POJO的属性名。

如下所示:

定义完成后,则可以在其他insert、select元素中的resultMap属性中引用该resultMap定义的高级映射。

如下所示:

在上面mapper.xml配置中,select元素的resultMap属性指定了resultMap元素的id属性值,通过关联,select语句查询后返回的数据映射类型为userQueryBean所对应的POJO类型。

Mybatis 输出映射相关推荐

  1. 【Mybatis框架】输出映射-resultType与resultMap

    为什么80%的码农都做不了架构师?>>>    输出映射 接下来说说有关Mapper.xml配置文件中查询标签中关于返回值类型resultType与resultMap的一些内容 1. ...

  2. mybatis学习笔记(7)-输出映射

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...

  3. mybatis入门(四)----输入映射和输出映射

    阅读目录 一:输入映射 二:输出映射 回到顶部 一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 ...

  4. mybatis入门基础(四)----输入映射和输出映射

    阅读目录 一:输入映射 二:输出映射 回到顶部 一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 ...

  5. (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql

    http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解 ...

  6. 实习笔记 —— MyBatis III (输入/输出映射)

    系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记-- AOP开发II(AOP中Advice的类型) 实 ...

  7. Mybatis(三) 映射文件详解

    前面说了全局配置文件中内容的详解,大家应该清楚了,现在来说说这映射文件,这章就对输入映射.输出映射.动态sql这几个知识点进行说明,其中高级映射(一对一,一对多,多对多映射)在下一章进行说明. 一.输 ...

  8. xstream不映射字段_Mybatis_day03:输入映射和输出映射

    输入映射和输出映射 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. parameterType(输入类型) 传递简单类型 ...

  9. JAVA框架 Mybaits 输入和输出映射

    一.输入映射 当前端传来的参数,比较复杂,比如说用户名称.订单单号.账号信息等等.后端有可能有多个projo类对应这些信息.我们需要把这些的projo类封装成一个类似一个vo类. 通过设置字段形式关联 ...

最新文章

  1. Oracle导出空表解决办法
  2. 微软正在帮助政府构建AI灾难响应工具
  3. VMX虚拟机环境下CentOS/Linux扩展磁盘空间,并且增加HOME目录的大小!
  4. 反网络爬虫以及解决方案
  5. C++赋值运算符和拷贝构造函数区别
  6. 怎样才能找出哪个 CPU 内核正在运行该进程?(一)
  7. nginx php实例,多个mysql,nginx,php实例环境安装zabbix(完全自定义)
  8. 【算法分析与设计】图的着色问题
  9. 计算机组成原理整机实验报告,计算机组成原理加器实验报告.doc
  10. 借助neo4j-admin导入csv文件构建实体与联系
  11. mysql 的标识符_MySQL查询或标识符在Jupyter中太长?
  12. 火狐浏览器走局域网中的代理ip
  13. vue中书写JSX一些坑-特殊属性名
  14. 监控行业常见视频格式
  15. [面试必考]OSI 网络七层协议以及各层的功能
  16. Java实现餐厅点餐系统
  17. android 带刻度的滑动条_Android实现滚动刻度尺效果
  18. python launcher卸载不了_python2的卸载
  19. 被遗忘权_HTML:前5个被遗忘的元素
  20. Acwing-280-陪审团(背包dp?)

热门文章

  1. unreal4怎么设置游戏模式_ue4(虚幻4)基础 Unreal4 服务器模式详细介绍
  2. ConcurrentProgramming:wait()和notify()和synchronized
  3. Zookeeper的ZAB协议和Leader选举过程剖析
  4. 使用Java来格式化时间
  5. Stamp Rally
  6. 初窥R(基本说明、获取帮助、工作空间、输入输出、包)
  7. [7.14更新日志]CRP编译缓存和海外构建让编译健步如飞!
  8. springmvc返回jsp源代码解决办法
  9. Android中LocalSocket使用
  10. javascript !-- //-- 与老的浏览器打交道