Mybatis中输出映射resultType与resultMap的区别

(原文地址:http://blog.csdn.net/acmman/article/details/46509375

1.resultType

使用resultType进行输出映射,只有查询出来的列名和pojo(实体bean)中的属性名一致,该列才可以映射成功。

如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。
只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。

1.1输出pojo对象和pojo列表

不管是输出的pojo单个对象还是一个列表(list中包括pojo),在mapper.xml中resultType指定的类型是一样的。
在mapper.java指定的方法返回值类型不一样:
1).输出单个pojo对象,方法返回值是单个对象类型
2).输出pojo对象list,方法返回值是List<Pojo>

生成的动态代理对象中是根据mapper方法的返回值类型确定是调用selectOne(返回单个对象调用)还是selectList (返回集合对象调用 ).

1.2输出HashMap

输出pojo对象可以改用HashMap输出类型,将输出的字段名称作为map的key,value为字段值。如果是集合,那就是list里面套了HashMap。

2.resultMap

mybatis中使用resultMap完成高级输出结果映射。

2.1resultMap使用方法

如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。

总结

使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。

如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。

原文地址:https://www.cnblogs.com/silver-aircraft/p/12011757.html

时间: 2024-10-20 21:46:13

Mybatis中输出映射resultType与resultMap的区别的相关文章

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

输出映射接下来说说有关Mapper.xml配置文件中查询标签中关于返回值类型resultType与resultMap的一些内容 1.resultType使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功.如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象.只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象. 1.1输出简单类型1.1.1需求用户信息的综合查询列表总数,通过查询总数和上边用户综合查询列表才可以实

mybatis &lt;sql /&gt; 配置中 返回值 resultType 与resultMap的区别

mybatis的objectMapper.xml中, 1) 若<sql /> 查询语句中配置的是resultType=“实体类/DTO” ,则从mybatis返回的键值对结果集(Map)会直接赋值给该DTO(根据set()/get()方法,因此该DTO属性名要与表字段名一致,若不一致,可再sql查询语句中用as 更换查出来表字段名)中相映射的属性值,而与该mappper.xml文件配置<mapper/>里的<resultMap />无关. 2)若<sql />

PHP中输出 echo print print_r var_dump的区别与比较

PHP中输出 echo  print print_r  var_dump的区别与比较 echo->是输出语句,不是函数,没有返回值,可输出多个变量值,多个值之间用逗号分隔,不需要圆括号,但不能输出数组和对象,只能打印简单类型: print->是输出语句,不是函数,有返回值1,只能输出一个变量,,不需要圆括号,也不能输出数组和对象,只能打印简单类型: print_r->是函数,可以打印简单类型和复合类型的数据,可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以A

mybaties中mapper.xml映射文件中输出映射resultMap与resultType的不同

在mybaties框架思想中可以知道.mybaties在mapper.xml中定义statement,使用resultType(还有resultMap)指定输出数据的类型,将select查询结果集映射为resultType指定的类型, resultType使用注意:select查询出来 列名要和resultType指定的类型属性名对应.(实现开发中常用的是resultType) resultMap:select查询出来 列名不需要和输出类型的属性名对应也可以完成映射.

mybatis和Dao映射的配置文件xml,中什么时候需要用resultType .什么时候用resultMap,及resultType和resultMap的区别

区别: 两者都可以用于映射文件中的<select>语句的返回值,但是两者在返回值上面是有区别的 如下面的两个例子: 使用resultType的 举个例子吧,例子以ibatis为例: 你有个User 对象, 拥有两个字段id,name. 1.你要获取id为123的name String name = (String) queryForObject("getUserNameByID", id); <select id="getUserNameByID"

MyBatis中关于resultType和resultMap的区别

MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应着我们的model对象中的实体),而resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系),但是resultType跟resultMap不能同时存在. 在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值.

mybatis中resultType和resultMap的区别

MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMapresultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用但是resultType跟resultMap不能同时存在.在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值.当提供的返回类型属性是resultType的时候,MyBatis会将Map里面的键值对取出赋给resultT

Mybatis中输入输出映射和动态Sql

一.输入映射 我们通过配置parameterType的值来指定输入参数的类型,这些类型可以是简单数据类型.POJO.HashMap等数据类型 1.简单类型 2.POJO包装类型 ①这是单表查询的时候传入的POJO包装类型,即可以直接传入实体类,但是当多表查询的时候,就需要自定义POJO类型 ②我们使用自定义POJO类型来具体的了解一下 先设计 包装类型如下,其中UserPOJO是除了User本身之外的添加的其他跟User相关的属性的包装类,UserVo是用于视图层面的包装类型,同样也是作为Map

MyBatis中SQL映射的XML文件

Mappers 既然MyBatis的行为已经由上篇介绍的MyBatis配置文件的元素配置完了,我们现在就要定义SQL映射语句了.但是,首先我们需要告诉MyBatis到哪里去找到这些配置.Java在这方面没有提供一个很好的方法,所以最佳的方式是告诉MyBatis去哪里去找映射文件.你可以使用相对于类路径的资源引用,或者字符表示,或url应用的完全限定名. MyBatis架构中,POJOs对象对象一个映射器接口,映射器接口和对应的SQL映射的XML在同一包下. SQL映射的XML文件 MyBatis