5.Mybatis的输出映射(就是对查询的结果集的映射)
视频地址:http://edu.51cto.com/sd/be679
Mybatis的输出映射,也就是对查询结果集的一个映射,主要有两种:
1.resultType(不需要配置,可以直接用)
一般是实体类
基本类型也可以
2.resultMap(需要配置resultMap与之对应)
1.resultType返回结果是实体类,这种写法比较简单,直接贴代码,有几个要明白的地方就是:
查询出来的列名和我们的实体类的属性名必须一致,如果不一致,映射不成功。
有一个或者一个以上一致:不一致的显示为null
全部不一致:该对象不被创建
<select id="findAll" resultType="com.etc.entity.Student">
select * from t_student
</select>
2.resultType返回的是基本类型,写法比较简单但是有一个要求: (resultType="java.lang.Integer")
就是要求你查询出来的结果必须只有一行且一列

3.返回的是resultMap,这种比较麻烦一点,需要配置一个resultMap与之对应(目前这里讲的是单表的,关联表的后面会说),做法主要有三步
1.写好sql
select sid sid_,name name_,sex sex_,hobbies hobbies_ from t_student
看看这个sql的查询结果

2.配置一个resultMap
<resultMap type="student" id="studentResultMap">
<!--
id:查询结果的唯一标识
不是id结果的映射
column:查询出来的列名
property:type指定的实体类的属性名
-->
<id column="sid_" property="sid"/>
<result column="name_" property="name"/>
<result column="sex_" property="sex"/>
<result column="hobbies_" property="hobbies"/>
</resultMap>
3.resultMap返回的结果是你配置的resultMap的Id

resultMap总结:
1. column:查询出来的是列名 ,不是数据库的字段名(只是在开发中程序猿通常会把属性名和字段名写成一样)
2.就是映射时有一个或者多个属性对应上的时候:没对应的属性值显示为null,有对应到的就显示值

3.当没有属性匹配到该对象的时候,就是映射没有成功,那么该对象不创建

5.Mybatis的输出映射(就是对查询的结果集的映射)的更多相关文章
- MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用 ...
- Mybatis中输出映射resultType与resultMap的区别
Mybatis中输出映射resultType与resultMap的区别 (原文地址:http://blog.csdn.net/acmman/article/details/46509375) 一.re ...
- Java Maven:spring boot + Mybatis连接MySQL,通用mapper的增删改查,映射实现多表查询
1. MySQL自带库test添加表user.role 角色表role 用户表user 2. 添加依赖,配置属性 相关依赖:百度即可,此处略 application.properties spring ...
- 【MyBatis学习08】高级映射之一对一查询
从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一.一对多.多对多查询,这篇先总结一下mybatis中的一对一查询. 为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到 ...
- 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法
spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...
- 【mybatis源码学习】ResultMap查询结果映射
一.ResultMap包含的元素 constructor - 用于在实例化类时,注入结果到构造方法中 idArg - ID 参数:标记出作为 ID 的结果可以帮助提高整体性能 arg - 将被注入到构 ...
- MyBatis的手动映射与模糊查询
一.手动映射 当实体类属性与数据库字段名不同时,无法自动映射,导致查询出空值,这时候可以使用手动映射 在select节点添加resultMap属性与resultMap节点建立关系
- 17_高级映射:一对一查询(使用resultType)
[数据库模型] [各个表] [ 用户表user ] 购买商品的用户信息. [ 订单表 ] 用户所创建的订单 [ 订单明细表 ] 订单的详细信息,即购买商品的信息 [ 商品表 ] 商品的具体信息 [有关 ...
- Mybatis学习总结四(关联查询)
一.一对一查询 实例:查询所有订单信息,关联查询下单用户信息. Method1:使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息. public class Order ...
随机推荐
- PhpStorm中配置xdebug调试环境
1. 安装xdebug 第一步: 得到本地PHP配置信息 在终端中运行: php -i > outputphp.txt 然后将得到的txt文件中的信息拷贝并复制到http://xdebug.or ...
- C++实现不能被继承的类——终结类 分类: C/C++ 2015-04-06 14:48 64人阅读 评论(0) 收藏
1. 问题 C++如何实现不能被继承的类,即终结类.Java中有final关键字修饰,C#中有sealed关键字修饰,而C++目前还没有类似的关键字来修饰类实现终结类,需编程人员手动实现. ...
- Visual SVN Server启动失败0x8007042a错误
今天在程序VisualSVNServer界面中启动服务时,报错如下: VisualSVNServerServer service failed to start:服务已返回特定的服务器错误 ...
- RabbitMQ中 exchange、route、queue的关系
从AMQP协议可以看出,MessageQueue.Exchange和Binding构成了AMQP协议的核心,下面我们就围绕这三个主要组件 从应用使用的角度全面的介绍如何利用Rabbit MQ构建 ...
- JSTL中的scope属性
前两天接到老大一个任务:要验证一下<c:import>能否动态地引入不同的文件.当时很兴奋,要知道在对日外包里面,这个也得算技术活了.呵呵! 说干就干,写了两个jsp文件:m.jsp t ...
- Mac OS X使用快捷键改善窗口管理的六个方法
http://www.macx.cn/thread-2085916-1-1.html 窗口全屏 ctrl+command+f
- 转载:使用命令行启动VirtualBox虚拟机
使用命令行启动VirtualBox虚拟机 装上VirtualBox就琢磨着如何让它开机自动启动,又或者能够通过命令行的形式直接启动指定的虚拟机. 看了下VirtualBox的官方文档,发现有一个命令可 ...
- Joint Deep Learning for Pedestrian Detection笔记
1.结构图 Introduction Feature extraction, deformation handling, occlusion handling, and classification ...
- mpstat, pidstat, iostat和sar
在我们上一篇文章中,我们已经学习了如何去安装和更新sysstat,并且了解了包中的一些实用工具. 今天,我们将会通过一些有趣的实例来学习mpstat, pidstat, iostat和sar等工具,这 ...
- docker跨容器之使用link大法通信
容器1 docker run --name elixir -it edib/elixir-phoenix-dev /bin/bash ip address看看自己的ip 容器2 docker run ...