当前位置: 首页 > news >正文

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

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 | 配置

http://www.lryc.cn/news/169874.html

相关文章:

  • 【测试开发】基础篇 · 专业术语 · 软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执
  • ​bing许少辉乡村振兴战略下传统村落文化旅游设计images
  • 第三十一章 Classes - 继承规则
  • 华为云HECS安装docker并安装mysql
  • MQ - 04 基础篇_存储_消息数据和元数据的存储设计
  • JavaScript:隐式转换、显示转换、隐式操作、显示操作
  • 2023全新TwoNav开源网址导航系统源码 | 去授权版
  • Android 12 源码分析 —— 应用层 六(StatusBar的UI创建和初始化)
  • 华为云ROMA Connect亮相Gartner®全球应用创新及商业解决方案峰会,助力企业应用集成和数字化转型
  • 虚拟线上发布会带来颠覆性新体验,3D虚拟场景直播迸发品牌新动能
  • Linux arm64 pte相关宏
  • MVCC:多版本并发控制案例分析(一)
  • 以数据为中心的安全市场快速增长
  • AUTOSAR汽车电子嵌入式编程精讲300篇-经典 AUTOSAR 安全防御能力的分析及改善(下)
  • AI绘图提示词Stable Diffusion Prompt 笔记
  • xml元素值需要保留space
  • Eclipse开源代码下载
  • python多线程、进程
  • Vue基础之模板语法介绍
  • 【SLAM】 前端-视觉里程计之特征点
  • Android笔记(二十九):利用python自动生成多语言
  • 【C++STL基础入门】list的运算符重载和关于list的算法
  • 查找内轮廓(孔洞)
  • Git(6)——GitHub
  • 【RocketMQ专题】快速实战及集群架构原理详解
  • [设计模式] 浅谈SOLID设计原则
  • 基于Java+SpringBoot+Vue的旧物置换网站设计和实现
  • Java基本语法2
  • 【数据结构】树的存储结构;树的遍历;哈夫曼树;并查集
  • CSS选择器练习小游戏