视频地址: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的输出映射(就是对查询的结果集的映射)的更多相关文章

  1. MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用 ...

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

    Mybatis中输出映射resultType与resultMap的区别 (原文地址:http://blog.csdn.net/acmman/article/details/46509375) 一.re ...

  3. Java Maven:spring boot + Mybatis连接MySQL,通用mapper的增删改查,映射实现多表查询

    1. MySQL自带库test添加表user.role 角色表role 用户表user 2. 添加依赖,配置属性 相关依赖:百度即可,此处略 application.properties spring ...

  4. 【MyBatis学习08】高级映射之一对一查询

    从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一.一对多.多对多查询,这篇先总结一下mybatis中的一对一查询.  为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到 ...

  5. 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法

    spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...

  6. 【mybatis源码学习】ResultMap查询结果映射

    一.ResultMap包含的元素 constructor - 用于在实例化类时,注入结果到构造方法中 idArg - ID 参数:标记出作为 ID 的结果可以帮助提高整体性能 arg - 将被注入到构 ...

  7. MyBatis的手动映射与模糊查询

    一.手动映射 当实体类属性与数据库字段名不同时,无法自动映射,导致查询出空值,这时候可以使用手动映射 在select节点添加resultMap属性与resultMap节点建立关系

  8. 17_高级映射:一对一查询(使用resultType)

    [数据库模型] [各个表] [ 用户表user ] 购买商品的用户信息. [ 订单表 ] 用户所创建的订单 [ 订单明细表 ] 订单的详细信息,即购买商品的信息 [ 商品表 ] 商品的具体信息 [有关 ...

  9. Mybatis学习总结四(关联查询)

    一.一对一查询 实例:查询所有订单信息,关联查询下单用户信息. Method1:使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息. public class Order ...

随机推荐

  1. 20160621-BAPI 更改外向DN&更改拣配

    参考代码转自:http://blog.sina.com.cn/s/blog_4c66402b01012lgr.html 感谢. 测试一把,再做总结. 1.更改外向交货单: 2.更改内向交货单. htt ...

  2. oracle 存储过程的写法

    create or replace procedure Getyc is  v_id VARCHAR2(36);  v_date VARCHAR2(4); begin  declare    begi ...

  3. ✡ leetcode 164. Maximum Gap 寻找最大相邻数字差 --------- java

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  4. 【转】iOS bitcode实战 -- without full bitcode

    原文网址:http://www.voidcn.com/blog/GrowingGiant/article/p-5012705.html 关于bitcode的介绍,直接看下边两篇: 理解Bitcode: ...

  5. Unity3D基础知识梳理

    这段时间在做Unity的项目,这差不多是我的第一次实战啊~然后公司来了实习的童鞋要学Unity,但是我一向不靠谱啊,所以只能帮他们稍微梳理下基础的东西了啊,唉~学长只能帮你们到这里了~顺便就把自己这两 ...

  6. ls

    -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G) -l 除了文件名之外,还将文件 ...

  7. [转]配置mysql允许远程连接的方法

    配置mysql允许远程连接的方法 vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysq ...

  8. Python图表绘制:matplotlib绘图库入门

    matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...

  9. SQL SERVER调用textcopy写文件

    SET @PATH = 'textcopy /S ' + @LServer + ' /U '+ @LUser + ' /P '+ @LPass + ' /D '+ @LDB + ' /T '+@tab ...

  10. 在AD转换中的过采样和噪声形成

    1. 直接量化的过采样AD转换 此类系统的模型可以用下图表示. 图中xa(t)是输入信号,e(t)是量化引入的噪声,xd[n]是最终得到的数字信号,包含分量xda和xde. 对于M倍过采样,信号与量化 ...