MybatisPlus3.4.1版本自定义条件构造器
Wrapper之QueryWrapper、LambdaQueryWrapper以及LambdaQueryChainWrapper
1、QueryWrapper
.like("email", "24252") //email对应数据库中列名
1 /**
2 * 条件构造器 查询操作
3 */
4 @Test
5 void TestQueryWrapperSelect() {
6 //1、条件用法
7 List<User> userList = userMapper.selectList(new QueryWrapper<User>()
8 .like("email", "24252")
9 .between("age", 20, 22)
10 .or()
11 .eq("name", "zcx")
12 );
13 System.out.println("userList:" + userList);
14
15 //2、排序用法
16 List<User> users = userMapper.selectList(new QueryWrapper<User>()
17 .eq("nick_name", "xx")
18 .orderByAsc("age") //升序
19 // .orderByDesc("age") //降序
20 .last("limit 0,3") //last用法:在sql末尾添加sql语句,有sql注入风险
21 );
22 System.out.println("users:"+users);
23
24 }
2、LambdaQueryWrapper
queryWrapper.eq(User::getName,"liangd1"); //可以通过Lambda获取数据库列名
1 @Test
2 void TestLambdaQueryWrapper() {
3 //1、查询单条
4 LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
5 queryWrapper.eq(User::getName,"liangd1");
6 User selectOne = userMapper.selectOne(queryWrapper);
7 System.out.println(selectOne);
8
9 //2、查询list以及统计条数
10 queryWrapper.eq(User::getName, "zcx");
11 List<User> userList = userMapper.selectList(queryWrapper);
12 System.out.println("userList:" + userList);
13 Integer result = userMapper.selectCount(queryWrapper);
14 System.out.println("result:" + result);
15 }
3、LambdaQueryChainWrapper
1 //链式查询方式
2 User one = new LambdaQueryChainWrapper<>(userMapper)
3 .eq(User::getName, "liangd1")
4 .one();
1 @Test
2 void TestLambdaQueryChainWrapper() {
3 //1、eq查询单条
4 User one = new LambdaQueryChainWrapper<>(userMapper)
5 .eq(User::getName, "liangd1")
6 .one();
7 System.out.println("UserOne:" + one);
8
9 //2、查询list
10 List<User> users = new LambdaQueryChainWrapper<>(userMapper)
11 .eq(User::getName, "zcx")
12 .list();
13 System.out.println("UserList:" + users);
14
15 //3、模糊查询
16 List<User> LikeList = new LambdaQueryChainWrapper<>(userMapper)
17 .like(User::getEmail, "test")
18 .list();
19 System.out.println("LikeUser:" + LikeList);
20 }