Mybatis练习

目标

1.4 多条件查询

image-20210729203804276

我们经常会遇到如上图所示的多条件查询,将多条件查询的结果展示在下方的数据列表中。而我们做这个功能需要分析最终的SQL语句应该是什么样,思考两个问题

条件字段 企业名称品牌名称 需要进行模糊查询,所以条件应该是:

image-20210729204458815

简单的分析后,我们来看功能实现的步骤:

1.4.1 编写接口方法

BrandMapper 接口中定义多条件查询的方法。

而该功能有三个参数,我们就需要考虑定义接口时,参数应该如何定义。Mybatis针对多参数有多种实现

1.4.2 编写SQL语句

BrandMapper.xml 映射配置文件中编写 statement,使用 resultMap 而不是使用 resultType

1.4.3 编写测试方法

test/java 下的 com.itheima.mapper 包下的 MybatisTest类中 定义测试方法

1.4.4 动态SQL

上述功能实现存在很大的问题。用户在输入条件时,肯定不会所有的条件都填写,这个时候我们的SQL语句就不能那样写的

例如用户只输入 当前状态 时,SQL语句就是

而用户如果只输入企业名称时,SQL语句就是

而用户如果输入了 当前状态企业名称 时,SQL语句又不一样

针对上述的需要,Mybatis对动态SQL有很强大的支撑:

我们先学习 if 标签和 where 标签: