博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis学习总结_Mybatis查询之resultMap和resultType区别
阅读量:4700 次
发布时间:2019-06-09

本文共 2502 字,大约阅读时间需要 8 分钟。

MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,将中列数据复制到对象的相应属性上,可以用于复制查询,两者不能同时用。

1、resultType

返回单个实例

<select id="selectUser" parameterType="int" resultType="User">

select * from user where id = #{id}

</select>

返回List集合

<select id="selectUserAll" resultType="User" > <!-- resultMap="userMap" -->

select * from user
</select>

2、resultMap

简单查询:

<resultMap type="User" id="userMap">

<id column="id" property="id"/>
<result column="name" property="name"/>
</resultMap>
column:数据库中列名称,property:类中属性名称

 

resultMap:适合使用返回值是自定义实体类的情况

resultType:适合使用返回值得数据类型是非自定义的,即jdk的提供的类型

resultMap : 

映射实体类的数据类型

resultMap的唯一标识

column: 库表的字段名

property: 实体类里的属性名

配置映射文件:

实体类Person.

package com.hao947.model; import java.util.Date; public class Person { private Integer personId; private String name; private Integer gender; private String personAddr; private Date birthday; @Override public String toString() { return "Person [personId=" + personId + ", name=" + name + ", gender=" + gender + ", personAddr=" + personAddr + ", birthday=" + birthday + "]"; } }

测试类

public class PersonTest { SqlSessionFactory sqlSessionFactory; @Before public void setUp() throws Exception { // 读取资源流 InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml"); // 初始化session工厂 sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); } @Test public void selectPersonById() { // 创建一个sqlsession SqlSession session = sqlSessionFactory.openSession(); try { Person p = session.selectOne( "com.hao947.sql.mapper.PersonMapper.selectPersonById", 1); System.out.println(p); } finally { session.close(); } } @Test public void selectPersonCount() { // 创建一个sqlsession SqlSession session = sqlSessionFactory.openSession(); try { Integer p = session.selectOne( "com.hao947.sql.mapper.PersonMapper.selectPersonCount"); System.out.println(p); } finally { session.close(); } } @Test public void selectPersonByIdWithMap() { // 创建一个sqlsession SqlSession session = sqlSessionFactory.openSession(); try { Map
map = session.selectOne( "com.hao947.sql.mapper.PersonMapper.selectPersonByIdWithMap",1); System.out.println(map); } finally { session.close(); } } }

转载于:https://www.cnblogs.com/wang-Java-begining/p/9884313.html

你可能感兴趣的文章
MySQL常用函数
查看>>
安装cocoapods
查看>>
Ubuntu安装搜狗拼音教程
查看>>
Happy Number
查看>>
Sqlserver 系统视图简单说明
查看>>
【摘录】PHP异步调用实现方式
查看>>
php缓存机制
查看>>
bzoj2049 线段树 + 可撤销并查集
查看>>
sql语句---存在即更新,否则insert
查看>>
cookie机制、session机制
查看>>
BZOJ 3787: Gty的文艺妹子序列
查看>>
Comet OJ - Contest #5 简要题解
查看>>
CF1093G Multidimensional Queries
查看>>
移动端提升页面速度与网站性能
查看>>
Dfs【p4906】小奔关闹钟
查看>>
【JMeter4.0】之遇到的问题总结(持续更新)
查看>>
计算机编码总结
查看>>
codevs 2964公共素数因数
查看>>
分组查询限制。HAVING可写在GROUP BY前。
查看>>
基于iSensor的MT9M001C12STM传感器调试总结
查看>>