MyBatis中的输出映射有两种:resultType和resultMap。

1、resultType

  使用resultType进行结果映射时,只有当查询结果中有至少一列的名称和resultType指定的POJO的某个属性名称相同时,才会映射成功。如果查询出来的列名和POJO中的属性名全部不一致,就不会映射成任何POJO对象(解决这个问题可以使用下面介绍的resultMap映射)。

  resultType的类型可以是HashMap,这样查询出来的列名就是HashMap中的key。

2、resultMap

  MyBatis使用resultMap可以完成高级输出结果的映射。如果查询出来的列名和POJO中的属性名不一致,可以通过定义一个resultMap对列名和POJO属性名之间做一个映射关系。resultMap的具体代码如下:
定义resultMap的代码:
<!-- 自定义ResultMap:自定义ResultMap的作用是将查询出来的列名和pojo的属性名做一个映射关系 -->
<!-- type是最终映射到的pojo对象类型,可以是属性名;id是对ResultMap的唯一标识 -->
<resultMap type="emp" id="employeeMap">
<!-- id标签和result标签中都有column和property两个属性,前者是查询出来的列名,后者是映射到的pojo中的属性名 -->
<!-- id表示查询结果中的主键列的映射关系 -->
<id column="eid" property="empNo" />
<!-- result表示查询结果中的普通列的映射关系 -->
<result column="username" property="eName" />
</resultMap>

  Statement中的代码:

<!-- 使用resultMap输出员工信息,resultMap的属性值是自定义的resultMap的id -->
<!-- 注意:如果resultMap定义在其他mapper文件中,则需要在resultMap的id前面加上所在mapper文件的namespace值 -->
<select id="findEmployeeListWithResultMap" resultMap="employeeMap">
SELECT empno eid, ename username FROM EMP
</select>

  Mapper接口中的代码:

List<Employee> findEmployeeListWithResultMap() throws Exception;

  测试代码:

// 使用resultMap输出员工信息
@Test
public void testFindEmployeeListWithResultMap() throws Exception {
SqlSession session = factory.openSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
List<Employee> list = mapper.findEmployeeListWithResultMap();
for (Employee e : list) {
System.out.println(e);
}
}

【JAVA - SSM】之MyBatis输出映射的更多相关文章

  1. 【JavaEE】之MyBatis输出映射

    MyBatis中的输出映射有两种:resultType和resultMap. 1.resultType 使用resultType进行结果映射时,只有当查询结果中有至少一列的名称和resultType指 ...

  2. mybatis输出映射总结

    使用resultType作为输出映射 只有查询出来的列名和pojo中的属性名一致时,才会映射成功, 如果不一致,可以使用resultMap最为输出类型 不管是输出单个对象还是列表(list中包括poj ...

  3. 04.Mybatis输出映射之ResultMap

    当实体类中的字段名与数据库中的字段名不一致时需要手动设置映射关系 在Mapper.xml中定义 <!-- resultMap最终还是要将结果映射到pojo上,type就是指定映射到哪一个pojo ...

  4. 【Mybatis架构】输入、输出映射

    前言综述:   其实在我们分析Mybatis的查询缓存或者是一些简介的时候,我们就不难看到有关于Mybatis输入输出映射的东西,比如说: 但是一直没有想起来系统的来总结一下这方面的相关知识,偶然看到 ...

  5. Java基础-SSM之mybatis一对多和多对一关系映射

    Java基础-SSM之mybatis一对多和多对一关系映射 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备测试环境(创建数据库表)  1>.创建customers表: ...

  6. 【JAVA - SSM】之MyBatis与原生JDBC、Hibernate访问数据库的比较

    首先来看一下原生JDBC访问数据库的代码: public static void main(String[] args) { // 数据库连接 Connection connection = null ...

  7. JAVAEE——Mybatis第二天:输入和输出映射、动态sql、关联查询、Mybatis整合spring、Mybatis逆向工程

    1. 学习计划 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If标签 b) Where标签 c) Sql片段 d) Foreach标签 3.关联查询 a) 一对 ...

  8. mybatis-输入输出映射-动态sql-关联查询-mybatis与spring-逆向工程

    1.1. 输入映射和输出映射 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 1.1.1. 环境准备 1. 复制昨天的工程 ...

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

    一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 1.1.1.需求描述 完成用户信息的综合查询, ...

随机推荐

  1. 对 HTTP 304 的理解(转)

    最近和同事一起看Web的Cache问题,又进一步理解了 HTTP 中的 304 又有了一些了解. 304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供 ...

  2. TDirectory.GetFileSystemEntries获取指定目录下的目录和文件

    使用函数: System.IOUtils.TDirectory.GetFileSystemEntries 所有重载: class function GetFileSystemEntries(const ...

  3. 方便mac os 10.9系统中phpstorm配置php运行环境

    自己安装php,不用mac安装,这样就有php开发环境了. 安装很简单,直接运行一个命令, 需要几分钟,请慢慢等待. curl -s http://php-osx.liip.ch/install.sh ...

  4. ubuntu下SVN服务器安装配置

    SVN服务器端: 1.安装包 $ sudo apt-get install subversion 2.添加svn管理用户及subversion组 $ sudo adduser svnuser $ su ...

  5. Linux系统调优

    Linux核心参数都是放置在/proc下面:系统的参数都是放置在/proc/sys swap最好放置在运行最快的硬盘上面,但是swap并能取代ram,因为并有I/O上面的损耗,所以优先考虑检验内存没有 ...

  6. Areas(区域)

    Areas(区域) 原文:Areas作者:Dhananjay Kumar 和 Rick Anderson翻译:耿晓亮(Blue)校对:许登洋(Seay) Areas 是 ASP.NET MVC 用来将 ...

  7. swift 与 OC 混合编程

    原文地址:http://www.cocoachina.com/swift/20150608/12025.html 一.解决问题 Swift项目需要使用封装好的Objective-c组件.第三方类库,苹 ...

  8. 转:PHP – Best Practises

    原文来自于:http://thisinterestsme.com/php-best-practises/ There are a number of good practises that you s ...

  9. 百度预测 及 maven pom搜索地址

    http://trends.baidu.com/ http://mvnrepository.com/artifact/net.sourceforge.htmlcleaner/htmlcleaner/2 ...

  10. java service

    http://www.regexlab.com/zh/jar2exe/demo1.htm http://www.zhangxinxu.com/wordpress/?p=1058 http://www. ...