视频地址: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 ...
随机推荐
-
Canny边缘检测算法原理及C语言实现详解
Canny算子是John Canny在1986年提出的,那年老大爷才28岁,该文章发表在PAMI*期刊上的(1986. A computational approach to edge detect ...
-
UVa 11384 Help is needed for Dexter
分析题目以后得出,对于一个连续等差递增的序列,例如1,2,3,4,5,6,每次选择其中后一半,减去能减的最大数,则是最优操作. 上述序列经过一次操作后变为1,2,3,0,1,2,此时可抛弃后一半(已经 ...
-
SPI-软件开发注意事项
01 PD ,设置数据库前一定把模板设置号,命名规则规划清楚.
-
玩转React样式
很久很久以前,就有人用CSS来时给HTML内容添加样式.CSS可以最大限度的分离样式和内容,选择器也可以很方便的给某些元素添加样式.你根本找不到任何不用CSS的理由. 但是在React这里就是另外一回 ...
-
slf4j,log4j,logback 初步使用
log4j,slf4j,logback简单介绍见 LogBack简易教程 Logback浅析 简单的将,slf4j是一个日志的框架,有各种日志的接口,但是并不包含实际的写日志的方法. log4j,lo ...
-
TYVJ P1070 罗马数字 Label:一定要看的枚举
描述 一类书的序言是以罗马数字标页码的.传统罗马数字用单个字母表示特定的数值,以下是标准数字表: I 1 L 50 M 1000V 5 C 100X 10 D 500最多3个同样的可以表示为10 ...
-
[BS-20] 导航控制器和视图控制器在添加控制器的区别
导航控制器和视图控制器在添加控制器的区别 1. 因导航控制器拥有导航栈,有一个普通视图控制器都没有的数组viewControllers,加入该数组中的视图控制器默认以push的方式进入导航栈.导航控制 ...
-
Mysql之常用操作(2)
Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...
-
移动端中遇到的坑(bug)!!!
1.模拟单选点击的时候,在ios手机下,点击下面的内容选择,会出现页面闪一闪!! 解决方案:样式重置html的时候加上这句 -webkit-tap-highlight-color: rgba(0, ...
-
flask orm
#查询 #查第一行 session.query(User.id,User.userName,User.password).first() #查所有行 sessi ...