mybatis-plus update 更新操作

Posted 路迢迢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis-plus update 更新操作相关的知识,希望对你有一定的参考价值。

mybatis-plus update

版本:3.0+

根据id更新

User user = new User();
user.setUserId(1);
user.setAge(29);

user.updateById();
    or
Integer rows = userMapper.updateById(user);

条件构造器作为参数进行更新

UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("name","shimin");

User user = new User();
user.setAge(18);

Integer rows = userMapper.update(user, updateWrapper);

条件构造器Set方法

假设只更新一个字段在使用updateWrapper 的构造器中也需要构造一个实体对象,这样比较麻烦。可以使用updateWrapper的set方法

UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("name","shimin").set("age", 35);

Integer rows = userMapper.update(null, updateWrapper);

lambda构造器

LambdaUpdateWrapper

        LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        lambdaUpdateWrapper.eq(User::getRealName, "shimin").set(User::getAge, 34);

        Integer rows = userMapper.update(null, lambdaUpdateWrapper);

LambdaUpdateChainWrapper

 LambdaUpdateChainWrapper<User> lambdaUpdateChainWrapper = new LambdaUpdateChainWrapper<>(userMapper);

        boolean update = lambdaUpdateChainWrapper.eq(User::getRealName, "shimin").set(User::getAge, 33).update();
        
        
        //分步写
        lambdaUpdateChainWrapper.eq(User::getRealName, "shimin");
        if (user.getAge == 33) {
            lambdaUpdateChainWrapper.set(User::getAge, 33);
        }
    lambdaUpdateChainWrapper.update();
        

以上是关于mybatis-plus update 更新操作的主要内容,如果未能解决你的问题,请参考以下文章

如何解决mybatis-plus调用update方法时,自动填充字段不生效问题

MyBatis-Plus

开发小知识-mybatis-plus自动填充与读写分离

Mysql操作容量限制问题Error updating database. Cause: com.mysql.jdbc.PacketTooBigException: Packet for que(代

15.mybatis-plus的QueryWrapper的查询更新删除的用法

01-mybatis-plus插入操作及主键策略