//1、查询
//1.1、根据id查询
User user = userMapper.selectById(1L);
System.out.println("userMapper.selectById=" + user);
//1.2、自定义条件查询
LambdaQueryWrapper<User> lambdaQueryWrapper = Wrappers.lambdaQuery(User.class).eq(User::getId, 1L);
User user1 = userMapper.selectOne(lambdaQueryWrapper);
System.out.println("userMapper.selectOne=" + user1);
User user2 = userService.getOne(lambdaQueryWrapper);
System.out.println("userService.getOne=" + user2);
//1.3、列表查询
LambdaQueryWrapper<User> lambdaQueryWrapper2 = Wrappers.lambdaQuery(User.class).eq(User::getName, "测试");
List<User> userList1 = userMapper.selectList(lambdaQueryWrapper2);
System.out.println("userMapper.selectList=" + userList1);
List<User> userList2 = userService.list(lambdaQueryWrapper2);
System.out.println("userService.list=" + userList2);
//1.4、多条件查询:SELECT id, version, name, age, email, create_time, update_time, deleted FROM user
// WHERE deleted = 'N'
// AND (id > ?
// AND (name = ? OR (age = ? AND id = ?))
// AND id < ?
// ) AND tenant = 'fivestar'
//列表查询
LambdaQueryWrapper<User> lambdaQueryWrapper3 = Wrappers.lambdaQuery(User.class)
.gt(User::getId,1L)
.and(userLambdaQueryWrapper -> {
userLambdaQueryWrapper.eq(User::getName, "测试");
userLambdaQueryWrapper.or(userLambdaQueryWrapper1 -> {
userLambdaQueryWrapper1
.eq(User::getAge, 28)
.eq(User::getId, 2L);
});
})
.lt(User::getId,100L);
List<User> userList3 = userMapper.selectList(lambdaQueryWrapper3);
//2、更新
//2.1、通过mapper更新
User user = new User();
user.setName("韦 昌 龙-代码修改时间");
user.setAge(16);
LambdaUpdateWrapper<User> lambdaUpdateWrapper = lambdaUpdate(User.class).eq(User::getId, 6L);
int i = userMapper.update(user, lambdaUpdateWrapper);
System.out.println("受影响的行数:" + i);
//2.2、通过service更新(底层调用的mapper方法)
LambdaUpdateWrapper<User> lambdaUpdateWrapper2 = lambdaUpdate(User.class)
.set(User::getAge,17L)
.eq(User::getId, 6L);
Boolean flag = userService.update(lambdaUpdateWrapper2);
//3、删除
LambdaQueryWrapper<User> lambdaQueryWrapper = Wrappers.lambdaQuery(User.class).eq(User::getId, 6L);
userMapper.delete(lambdaQueryWrapper);
Mybatis的优雅写法
于 2023-02-16 14:45:30 首次发布