0%

【MybatisPlus】条件构造器

MybatisPlus的特点,条件构造器使用,帮助拼接sql


1 条件构造器

1.1 介绍

  • Mybatis-Plus通过AbstractWrapper的继承类QueryWrapper和UpdateWrapper(旧版本:EntityWrapper)让用户自由的构建查询条件,简单便捷,没有额外的负担能够有效提高开发效率
  • 条件构造器主要用户处理sql拼接,排序,实体参数查询等

1.2 条件

条件方法 说明 使用例子
eq(column, value) sql中的 = eq("id", 1) = id = 1
alleq(params) sql中的 = ,map集合一次性等于 allEq({id:1,name:"老王",age:null}) = id = 1 and name = '老王' and age is null
ne(column, vlaue) sql中的不等于 <> ne("name", "老王") = name <> '老王'
gt(column, vlaue) sql中的 > gt("age", 18) = age > 18
ge(column, value) sql中的 >= ge("age", 18) = age >= 18
lt(column, value) sql中的 < lt("age", 18) = age < 18
le(column, value) sql中的 <= lt("age", 18) = age <= 18
between(column, value1, value2) sql中的 between … and … between("age", 18, 30) = age between 18 and 30
notBetween(column, value1, value2) sql中的 not between … and .. notBetween("age", 18, 30) = age not between 18 and 30
like(column, value) sql中的like %..% like("name", "王") = name like '%王%'
notLike(column, value) sql中的 not like %…% notLike("name", "王") = name not like '%王%'

… 还有很多,以后整理

1.3 使用演示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@Test
public void wrapperTest() {
//查询
QueryWrapper<User> qw = new QueryWrapper<User>().eq("name", "Tom");
List<User> users = userMapper.selectList(qw); // SQL:SELECT id,name,age,email FROM user WHERE (name = ?)
users.forEach(System.out::println);


//更新
User user = new User();
user.setName("C酱");
user.setAge(18);
UpdateWrapper<User> uw = new UpdateWrapper<User>().eq("id", 1);
userMapper.update(user, uw); // SQL:UPDATE user SET name=?, age=? WHERE (id = ?)


//删除
QueryWrapper<User> qw2 = new QueryWrapper<>();
qw2.eq("id", 5);
userMapper.delete(qw2); // SQL:DELETE FROM user WHERE (id = ?)
}