MyBatis之动态SQL
本文最后更新于:1 年前
用户的筛选条件不同,我们完成筛选所执行的 SQL 语句也不一样。虽然可以通过穷举来一一完成不同条件的筛选,但是这种实现思路过于繁琐和复杂,MyBatis就提供了动态SQL的配置方式来实现多条件查询。
什么是动态SQL?
动态SQL是指根据查询条件动态完成SQL的拼接。
动态SQL案例
1 |
|
1 |
|
方式一:自定义查询条件的实体类存放参数
DAO接口
MemberSearchCondition.java |
---|
1 |
|
映射文件
MemberMapping.xml |
---|
测试
MemberDAOTest.java |
---|
MemberDAOTest.java |
---|
MemberDAOTest.java |
---|
方式二:HashMap作为参数
DAO接口
1 |
|
映射文件
MemberMapper.xml |
---|
测试
MemberDAOTest.java |
---|
where标签
使用where标签后,会将sql语句中第一个条件前的 and 或 or 去掉。
MemberMapper.xml |
---|
trim标签
可以给sql语句的条件加前缀和后缀,并去除第一个条件前的 and 或 or。
MemberMapper.xml |
---|
foreach标签
foreach标签用于sql语句中的 in 操作符,在WHERE 子句中规定多个值。
DAO接口
1 |
|
映射文件
MemberMapper.xml |
---|
测试
MemberDAOTest.java |
---|
MemberDAOTest.java |
---|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!