Mybatis学习笔记8 查询返回专题

Mybatis学习笔记7 参数处理专题_biubiubiu0706的博客-CSDN博客

1.返回实体类

2.返回List<实体类>

3.返回Map

4.返回List<Map>

5.返回Map<String,Map>

6.resultMap结果集映射

7.返回总记录条数

新建模块

依赖

目录结构

1.返回实体类 如果返回多条,用单个实体接收会出异常

2.返回List<实体类> 即使返回一条记录 也可以用List<实体类> 接收

3.返回Map 这个其实就为偷懒,不想写类接收 查出来的数据库字段名做为key 值作为value

当然你可以起别名来作为Key

至于接收类型完全可以用Map<String,String>

4.返回List<Map> 还是为了省事,返回多个实体就是返回多个Map

同样 你可以起别名来作为Key

5.返回Map<String,Map> 这种方式和List<Map>是差不多的

只不过Map<String,Map>来接收的话,他会有个Key 举例

List<Map<String,String>>结构是:

{sex=男, name=张三, birth=1980-10-11, id=1, age=20, height=178.0}, {sex=男, name=李四, birth=1978-02-03, id=2, age=22, height=175.0}, {sex=男, name=王五, birth=1977-06-01, id=3, age=23}, {sex=女, name=赵六, birth=2023-09-19, id=4, age=25, height=172.0}

简写就是{name=zhangsan,age=14},{name=lisi,age=15}这种

而Map<String,Map>的结构就是这样

{key1={name=zhangsan,age=14},key2={name=lisi,age=15}}

具体key取值一般是主键的值,这样就方便取了

6.resultMap结果集映射 有时候当数据库字段和实体类字段不同时候比如 数据库字段是car_num

实体类是carNum,这是有3种做法

1.自动转驼峰配置

在mybatis核心配置文件中 即可开启驼峰命名自动映射

**使用自动转驼峰配置:**要满足以下规范

1.java命名规范:首字母小写,后面每个单词首字母大写,遵循驼峰命名方法

2.SQL命名规范:全部小写,单词之间采用下划线分割

例如: carNum---->car_num carType----->car_type produceTime----->produce_time

2.结果集映射

3.别名

这里用下resultMap

主键你用result也是可以的 但是用id可以提高效率

如果数据库字段和实体类属性相同,可以不配置,这里只是介绍用法

7.返回总记录条数

返回值类型可以String Long Integer long int

注意:

复制代码
select count(具体某个字段) from t_student

如果是具体某个字段,他会排除null

关于resultType Mybatis中内置的别名

mybatis -- MyBatis 3 | 配置

相关推荐
奋发向前wcx3 小时前
y1,y2总复习笔记10 2026.7.24
笔记·哈希算法·散列表
MuMuMu12233 小时前
智慧监测的“火眼金睛”:当AIoT重构环保监管体系
笔记
CodeStats5 小时前
【Spring事务】Spring事务注解 @Transactional 完整体系:从 MySQL 隔离级别到 MyBatis 原理详解
java·spring·mybatis·事务·transactional
min(a,b)5 小时前
学习第 4 天:面向对象与异常处理
python·学习·学习方法
一只小菜鸡..5 小时前
南京大学 操作系统 (JYY) 学习笔记:进程地址空间与内存“外挂”魔法
笔记·学习
tju新生代魔迷5 小时前
Verilog语言学习(一)
学习
一只小菜鸡..6 小时前
南京大学 操作系统 (JYY) 学习笔记:访问操作系统的对象与“一切皆文件”
笔记·学习
IT空门:门主9 小时前
Python 基础语法学习路线图
网络·python·学习
寒月小酒11 小时前
第五章 生成集成 和第六章 RAG评估(all-in-rag学习)
数据库·学习
摇滚侠11 小时前
《RocketMQ 官网》阅读笔记 RocketMQ 消息队列 MessageQueue 消息 Messagege
笔记·rocketmq