输出类型

  • 输出简单类型
  • 输出 Map 类型
    • key:列名 value:列名对应的值
    • key:自己指定的列 value:自定义对象
  • resultMap

输出简单类型

CustomerMapper.java:返回值为简单类型。

public interface CustomerMapper {/*查询总数*/public Integer getAccountCustomer();
}

CustomerMapper.xml :返回值 resultType 为简单类型,这个我们之前经常使用,已经很熟悉了。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itlike.mapper.CustomerMapper"><!--查询总记录数--><select id="getAccountCustomer" resultType="integer">SELECT count(*) FROM customer;</select></mapper>

测试类:

public class MyTest {@Testpublic void test(){SqlSession sqlSession = MybatisUtils.openSession();CustomerMapper mapper = sqlSession.getMapper(CustomerMapper.class);Integer accountCustomer = mapper.getAccountCustomer();System.out.println(accountCustomer);sqlSession.close();}
}

运行结果:输出了数据库中的数据数量。
12

输出 Map 类型

key:列名 value:列名对应的值

CustomerMapper.java:返回值为 Map 类型

public interface CustomerMapper {/*根据Id查询用户*/public Map<String,Object> getCustomerWithId(Integer id);
}

CustomerMapper.xml:返回值为 Map

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itlike.mapper.CustomerMapper"><!--根据id查询客户--><select id="getCustomerWithId" resultType="java.util.Map">SELECT * FROM customer WHERE cust_id = #{id}</select></mapper>

测试类:

public class MyTest {@Testpublic void test(){SqlSession sqlSession = MybatisUtils.openSession();CustomerMapper mapper = sqlSession.getMapper(CustomerMapper.class);Map<String, Object> customer = mapper.getCustomerWithId(1);System.out.println(customer);sqlSession.close();}
}

运行结果:key 是列名 ,value 是列名对应的值。

{cust_profession=射手, cust_name=鲁班, cust_id=1, cust_phone=13499887733, email=12341241@qq.com}

key:自己指定的列 value:自定义对象




resultMap

之有在写输出时使用的都是 resultType,但是 resultType 要求字段名称和数据库当中的名称一致才能有值,否则为 null;如果 sql 查询字段名和 pojo 的属性名不一致,可以通过 resultMap 将字段名和属性名作一个对应关系。

当 domain 中的字段与数据库当中名字不一致时:

直接查询出来的结果会是 null,因为 domain 的字段与数据库不一样,只有一个名称相同的 email 可以查询到。

需要用 resultMap 自己做一个映射关系,将数据库中的名称与 domain 对应。

然后查询出来的结果便不是 null。

【MyBatis笔记】08-输出类型相关推荐

  1. Mybatis笔记 – Po映射类型

    一.输入映射类型 parameterType定义输入到sql中的映射类型,可以是  简单类型  .po类对象(可自动生成 或 手动定义). pojo包装对象(用于综合查询,UserCustom用户自定 ...

  2. mybatis学习笔记(7)-输出映射

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...

  3. 【MyBatis笔记、使用教程】

    文章目录 01. 介绍 1.1.三层架构 1.2.MyBatis 02. jdbc问题总结 03. 快速使用MyBatis 3.1.项目结构 3.2.基本使用步骤 3.2.1 概述 3.2.2 导入j ...

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

    为什么80%的码农都做不了架构师?>>>    输出映射 接下来说说有关Mapper.xml配置文件中查询标签中关于返回值类型resultType与resultMap的一些内容 1. ...

  5. Spring-学习笔记08【面向切面编程AOP】

    Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...

  6. MyBatis-学习笔记08【08.动态SQL】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  7. JAVA自学笔记08

    JAVA自学笔记08 1.构造方法私有,外界就不能再创建对象 2.说明书的制作过程 1)写一个工具类,在同一文件夹下,测试类需要用到工具类,系统将自动编译工具类:工具类的成员方法一般是静态的,因此在测 ...

  8. Go圣经-学习笔记之复合类型(二)

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇 Go圣经-学习笔记之复合类型 下一篇 Go圣经-学习笔记之复合数据结构(三) map介绍和简单使用 map是一种无序的 ...

  9. C#笔记17 DataTime类型、断言、internal关键字、GUID、Excel操作、正则表达式、访问剪贴板、设计模式、版本控制

    文章目录 DataTime 断言Debug.Assert(bool); internal关键字 GUID 访问Excel 正则表达式 访问剪切板 设计模式 参数化配置(避免硬编码) 其他介绍 Data ...

最新文章

  1. 8大领域、6大机遇!读懂2020年AI医疗新风向
  2. 关于对js属性的测试
  3. Windows10家庭版的功能中没有Hyper-V的解决方法
  4. 跨平台移动应用开发迎来“大杀器”,Xamarin.Essentials正式版发布
  5. Hibernate -- Dao层 -- CURD -- 随记
  6. 记录一次血崩式的CPLD不稳定 bug经验
  7. Java中Comparable和Comparator区别小结
  8. pythonasyncio在哪个版本好_什么情况下需要使用 Python 的 asyncio 模块?
  9. Fibonacci数列第n项的log(n)算法
  10. java实体中文字段_java - Spring JPA实体类是否可以包含不在数据库表中的非数据库字段 - SO中文参考 - www.soinside.com...
  11. 【直观理解】一文搞懂RNN(循环神经网络)基础篇
  12. matlab radsimp,[转载]MATLAB学习笔记(八)
  13. redhat6.3下配置使用cenos yum源
  14. 【leetcode】667. Beautiful Arrangement II
  15. Python3用requests,multiprocessing多线程爬取今日头条图片
  16. 素数在c语言中怎么表示,请问素数怎么样表示
  17. laravel 5.4 引入自定义类
  18. springAOP(Aspect)权限访问页面
  19. 间隙锁(Gap Lock)
  20. VirtualBox虚拟机安装教程

热门文章

  1. 挣钱其实是一门学问也一个门道
  2. 虚电路网络和数据报网络
  3. Linux磁盘、内存、CPU、进程
  4. Qt4_子类化QTableWidgetItem
  5. mysql8.0.12怎么配置_MySQL8.0.12安装及配置
  6. alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第1部分)
  7. sql 数据表归档_如何在考虑规模的情况下归档SQL Server数据
  8. sql还原数据库备份数据库_有关数据库备份,还原和恢复SQL面试问题–第IV部分
  9. @RequestParam接收解析不到 POST 提交的 数据
  10. 用SDWebImage加载FLAnimatedImage