Mybatis的优雅写法

//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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值