004-MyBatis-Plus 常用条件构造器方法
当然可以,下面是 MyBatis-Plus 常用条件构造器方法 的整理总结,适用于 QueryWrapper 和 LambdaQueryWrapper。
✅ MyBatis-Plus 常用查询条件方法一览
方法名 | 说明 | 示例(字段名) | 示例(Lambda) |
---|---|---|---|
eq | 等于 = | .eq("name", "Tom") | .eqgetName, "Tom" |
ne | 不等于 != | .ne("status", 1) | .negetStatus, 1 |
gt | 大于 > | .gt("age", 18) | .gtgetAge, 18 |
ge | 大于等于 >= | .ge("age", 18) | .gegetAge, 18 |
lt | 小于 < | .lt("score", 100) | .ltgetScore, 100 |
le | 小于等于 <= | .le("score", 100) | .legetScore, 100 |
between | 区间 BETWEEN AND | .between("age", 18, 30) | .betweengetAge, 18, 30 |
notBetween | 不在区间 | .notBetween("age", 18, 30) | .notBetweengetAge, 18, 30 |
like | 模糊匹配 %xx% | .like("name", "Tom") | .likegetName, "Tom" |
notLike | 不匹配模糊 | .notLike("name", "Tom") | .notLikegetName, "Tom" |
likeLeft | 左模糊 %xx | .likeLeft("name", "Tom") | .likeLeftgetName, "Tom" |
likeRight | 右模糊 xx% | .likeRight("name", "Tom") | .likeRightgetName, "Tom" |
in | 包含 IN (...) | .in("id", list) | .ingetId, list |
notIn | 不包含 NOT IN (...) | .notIn("id", list) | .notIngetId, list |
isNull | IS NULL | .isNull("deleted_at") | .isNullgetDeletedAt |
isNotNull | IS NOT NULL | .isNotNull("updated_at") | .isNotNullgetUpdatedAt |
orderByAsc | 升序排序 | .orderByAsc("age") | .orderByAscgetAge |
orderByDesc | 降序排序 | .orderByDesc("age") | .orderByDescgetAge |
last | 拼接 SQL 末尾语句 | .last("LIMIT 1") | 不适用 Lambda |
select | 指定查询字段 | .select("id", "name") | .selectgetId, User::getName |
or / and | 手动拼接 AND / OR | .or().eq(...).or().like(...) | 同上 |
✅ 组合查询示例
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.gegetAge, 18
.legetAge, 30
.likeRightgetUsername, "张"
.orderByDescgetCreateAt;
如果你希望我出一张图或写成 Markdown 方便保存,也可以告诉我!