Mybatis-Plus QueryWrapper and or 连用并且分页
# 1、分页查询写法
Page<TestEntity> rpage =
baseMapper.selectPage(
new Page<>(pageBean.getPageSize(), pageBean.getPageNum()),
new QueryWrapper<TestEntity>()
.eq("siteid", siteid)
.and(
wrapper ->
wrapper
.or()
.lt("createtime", updatetime)
.or()
.lt("deletetime", updatetime)
.or()
.lt("operatetime", updatetime)
.or()
.lt("updatetime", updatetime)));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 2、and or拼完后的结果是这样的:
new QueryWrapper<TestEntity>()
.eq("siteid", siteid)
.and(
wrapper ->
wrapper
.or()
.lt("createtime", updatetime)
.or()
.lt("deletetime", updatetime)
.or()
.lt("operatetime", updatetime)
.or()
.lt("updatetime", updatetime)))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 3、最终Sql:
SELECT
*
FROM
t
WHERE
useflag = 1
AND (
siteid =?
AND (
createtime < ?
OR deletetime < ?
OR operatetime < ?
OR updatetime < ?))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上次更新: 2023/03/17, 16:17:59