【MyBatis笔记】08-输出类型
输出类型
- 输出简单类型
- 输出 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-输出类型相关推荐
- Mybatis笔记 – Po映射类型
一.输入映射类型 parameterType定义输入到sql中的映射类型,可以是 简单类型 .po类对象(可自动生成 或 手动定义). pojo包装对象(用于综合查询,UserCustom用户自定 ...
- mybatis学习笔记(7)-输出映射
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...
- 【MyBatis笔记、使用教程】
文章目录 01. 介绍 1.1.三层架构 1.2.MyBatis 02. jdbc问题总结 03. 快速使用MyBatis 3.1.项目结构 3.2.基本使用步骤 3.2.1 概述 3.2.2 导入j ...
- 【Mybatis框架】输出映射-resultType与resultMap
为什么80%的码农都做不了架构师?>>> 输出映射 接下来说说有关Mapper.xml配置文件中查询标签中关于返回值类型resultType与resultMap的一些内容 1. ...
- Spring-学习笔记08【面向切面编程AOP】
Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...
- MyBatis-学习笔记08【08.动态SQL】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- JAVA自学笔记08
JAVA自学笔记08 1.构造方法私有,外界就不能再创建对象 2.说明书的制作过程 1)写一个工具类,在同一文件夹下,测试类需要用到工具类,系统将自动编译工具类:工具类的成员方法一般是静态的,因此在测 ...
- Go圣经-学习笔记之复合类型(二)
2019独角兽企业重金招聘Python工程师标准>>> 上一篇 Go圣经-学习笔记之复合类型 下一篇 Go圣经-学习笔记之复合数据结构(三) map介绍和简单使用 map是一种无序的 ...
- C#笔记17 DataTime类型、断言、internal关键字、GUID、Excel操作、正则表达式、访问剪贴板、设计模式、版本控制
文章目录 DataTime 断言Debug.Assert(bool); internal关键字 GUID 访问Excel 正则表达式 访问剪切板 设计模式 参数化配置(避免硬编码) 其他介绍 Data ...
最新文章
- 8大领域、6大机遇!读懂2020年AI医疗新风向
- 关于对js属性的测试
- Windows10家庭版的功能中没有Hyper-V的解决方法
- 跨平台移动应用开发迎来“大杀器”,Xamarin.Essentials正式版发布
- Hibernate -- Dao层 -- CURD -- 随记
- 记录一次血崩式的CPLD不稳定 bug经验
- Java中Comparable和Comparator区别小结
- pythonasyncio在哪个版本好_什么情况下需要使用 Python 的 asyncio 模块?
- Fibonacci数列第n项的log(n)算法
- java实体中文字段_java - Spring JPA实体类是否可以包含不在数据库表中的非数据库字段 - SO中文参考 - www.soinside.com...
- 【直观理解】一文搞懂RNN(循环神经网络)基础篇
- matlab radsimp,[转载]MATLAB学习笔记(八)
- redhat6.3下配置使用cenos yum源
- 【leetcode】667. Beautiful Arrangement II
- Python3用requests,multiprocessing多线程爬取今日头条图片
- 素数在c语言中怎么表示,请问素数怎么样表示
- laravel 5.4 引入自定义类
- springAOP(Aspect)权限访问页面
- 间隙锁(Gap Lock)
- VirtualBox虚拟机安装教程
热门文章
- 挣钱其实是一门学问也一个门道
- 虚电路网络和数据报网络
- Linux磁盘、内存、CPU、进程
- Qt4_子类化QTableWidgetItem
- mysql8.0.12怎么配置_MySQL8.0.12安装及配置
- alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第1部分)
- sql 数据表归档_如何在考虑规模的情况下归档SQL Server数据
- sql还原数据库备份数据库_有关数据库备份,还原和恢复SQL面试问题–第IV部分
- @RequestParam接收解析不到 POST 提交的 数据
- 用SDWebImage加载FLAnimatedImage