一、什么的Mybaits的动态查询
MyBatis 的动态查询是指根据不同的条件来构建 SQL 查询语句。通常使用动态 SQL 不可能是独立的一部分,MyBatis 使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。
二、环境搭建
1.新建数据库、 (mybatisdb) 一张表 、 (t_emp)
SQL语句
1 | sql复制代码SET NAMES utf8mb4; |
2.添加依赖 (mysql , mybatis , junit , lombok)
1 | xml复制代码<dependencies> |
3.新建实体类 Emp
1 | java复制代码@Data |
4.新建mapper接口 EmpMapper
1 | java复制代码public interface EmpMapper { |
5.在resources目录下新建com.bottom.mybatis.mapper目录,并新建一个mapper.xml文件
1 | xml复制代码<?xml version="1.0" encoding="UTF-8" ?> |
6.在 resources 目录下新建 mybatis-config.xml、logback.xml
logback.xml
1 | xml复制代码<?xml version="1.0" encoding="UTF-8"?> |
mybatis-config.xml
1 | xml复制代码<?xml version="1.0" encoding="UTF-8" ?> |
1、 where-if
此处的if是动态查询,即输入的条件查询不到结果为空
如果不输入查询条件,默认查询所有
2、trim
在 MyBatis 中,
trim
通常用于对字符串进行修剪操作,去除前后的空格或指定的字符。这可以在映射文件的 SQL 语句中使用,以确保数据的一致性和准确性。
trim
函数的属性如下:
- prefix:在
trim
标签内 SQL 语句加上前缀。 - suffix:在
trim
标签内 SQL 语句加上后缀。 - prefixOverrides:指定去除多余的前缀内容。
- suffixOverrides:指定去除多余的后缀内容。
3、choose-when-otherwise
MyBatis 的
choose-when-otherwise
是条件表达式的一种用法,通常用于在 SQL 映射文件中根据不同的条件执行不同的操作。它允许你根据特定的条件选择不同的逻辑或生成不同的 SQL 语句。
4、foreach
foreach
是用来构建in
条件的,它可以在 SQL 语句中进行迭代一个集合。foreach
有List
、array
、Map
三种类型的使用场景。
5、sql片段
使用
<sql>
标签来定义 SQL 片段。SQL 片段是一段可重用的 SQL 代码块,可以在多个 SQL 语句中引用。SQL 片段的使用可以减少重复编写相同 SQL 代码的工作,提高代码的可维护性和重用性
6、分页插件
分页插件是一种用于在 MyBatis 框架中实现分页功能的插件。它可以帮助开发者在查询大量数据时,将结果分成多个页面显示,从而提高查询的效率和用户体验。
使用分页插件的步骤如下
- 添加依赖:
1 | xml复制代码<dependency> |
- 配置分页插件(mybatis-config.xml):
- 在查询功能之前使用
PageHelper.startPage(int pageNum, int pageSize)
开启分页功能。
本文转载自: 掘金