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

2023-09-19 06:08:55

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

更多推荐

linux如何查看各个文件夹大小

本文将介绍两种方法来查看Linux系统中文件夹的大小。方法一:使用du命令du命令是Linux系统中用于估算文件和目录容量的工具。通过du命令,可以查看文件夹的大小并按照目录层次结构进行排序。要查看文件夹的大小,可以按照以下语法使用du命令:du[选项][目录]其中,选项可以根据需要进行调整。一些常用的选项包括:-h:

使用JavaScript实现无限滚动的方法

前言在网页设计中,无限滚动是一种常见的交互方式,用户可持续地加载更多内容而无需刷新页面,提高用户体验。本文将介绍如何运用JavaScript实现无限滚动的效果,使网页能够自动加载更多数据,减轻用户加载新页的负担,为用户提供更好的访问体验。原理理解无限滚动的原理无限滚动的原理是当用户滚动到页面底部时,自动加载更多内容。这

计算机视觉的应用15-图片旋转验证码的角度计算模型的应用,解决旋转图片矫正问题

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用15-图片旋转验证码的角度计算模型的应用,解决旋转图片矫正问题,在CV领域,图片旋转验证码的角度计算模型被广泛应用于解决旋转图片矫正问题,有效解决机器识别图片验证码的问题。旋转图片验证码常用于验证用户身份,但由于图片可能被以不同角度旋转,识别难度比较大。本文提出了

HTML+CSS+JavaScript 大学生网页设计制作作业实例代码 200套静态响应式前端网页模板(全网最全,建议收藏)

目录1.介绍2.这样的响应式页面这里有200套不同风格的1.介绍资源链接📚web前端期末大作业(200套)集合Web前端期末大作业通常是一个综合性的项目,旨在检验学生在HTML、CSS和JavaScript等前端技术方面的能力和理解。以下是一些可能的Web前端期末大作业的示例和介绍:网页类型举例📘响应式网站开发:学

【接口自动化测试】Eolink Apilkit 安装部署,支持 Windows、Mac、Linux 等系统

EolinkApikit有三种客户端,可以依据自己的情况选择。三种客户端的数据是共用的,因此可以随时切换不同的客户端。我们推荐使用新推出的ApikitPC客户端,PC端拥有线上产品所有的功能,并且针对本地测试、自动化测试以及使用体验等方面进行了强化,可以提供最佳的使用感受。建议对本地测试有需求的用户使用PC端,可满足更

全球公链进展| Metis 将成为完全去中心化的 L 2 网络;Circle在NEAR和Noble上推出原生 USDC

一周速览过去一周,明星项目动态如下:Gethv1.13.1修补程序已发布,修复区块生产等问题Metis计划年内成为完全去中心化的Layer2网络Sui主网已升级至V1.9.1版本Circle在NEAR和Noble上推出原生USDCPolygon发布关于2.0升级和POL代币迁移的三项提案CosmosHub已完成「Gai

权限提升数据库(基于MySQL的UDF,MOF,启动项提权)

获取数据库权限如何获取数据库的最高权限用户的密码,常用方法有这些网站存在高权限SQL注入点数据库的存储文件或备份文件网站应用源码中的数据库配置文件采用工具或脚本爆破网站存在高权限SQL注入点可以通过sqlmap拿到user表的账号密码,密码可能是MD5加密的。可以通过下面网站进行解密md5在线解密破解,md5解密加密(

Python自动化测试实战

接口自动化测试是指通过编写程序来模拟用户的行为,对接口进行自动化测试。Python是一种流行的编程语言,它在接口自动化测试中得到了广泛应用。下面详细介绍Python接口自动化测试实战。1、接口自动化测试框架在Python接口自动化测试中,我们可以使用很多开源的测试框架,例如unittest、pytest和nose等。这

JVM——9.对象的访问定位方式

前一篇文章,我们详细的了解了对象在堆内存中是如何分配的。现在,对象已经分配好了,那么要如何访问定位呢?下面,我们一起来了解一下。目录1.概述2.句柄法3.直接指针法4.小结1.概述创建对象是为了使用该对象,Java程序会通过栈上的reference数据来操作堆上的具体对象。由于reference类型在《Java虚拟机规

C++day7

仿照vector手动实现自己的myVector,最主要实现二倍扩容功能代码头文件#ifndefTEST_H#defineTEST_H#include<iostream>#include<cstring>#include<vector>usingnamespacestd;template<typenameT>classM

网站排名下降的原因和解决方法(SEO优化失误可能导致网站排名下降)

SEO优化是网站推广的重要环节,它可以提升网站的访问量和排名。但是,SEO优化不当也可能会导致网站排名下降。本文将分析SEO优化失误可能导致网站排名下降的原因,并提供相应的解决方法。一:标题——SEO优化过度SEO优化的目的是为了提升网站排名,但是如果优化过度,可能会被搜索引擎认为是作弊行为而被惩罚。过度使用关键字、频

热文推荐