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);
<span class="hljs-type">Integer</span> <span class="hljs-keyword">rows</span> <span class="hljs-operator">=</span> userMapper.update(<span class="hljs-keyword">null</span>, lambdaUpdateWrapper);
LambdaUpdateChainWrapper
LambdaUpdateChainWrapper<User> lambdaUpdateChainWrapper = new LambdaUpdateChainWrapper<>(userMapper);
boolean update = lambdaUpdateChainWrapper.e<span class="hljs-string">q(User::getRealName, "shimin")</span>.set(User::getAge, <span class="hljs-number">33</span>).update(); <span class="hljs-regexp">//</span>分步写 lambdaUpdateChainWrapper.e<span class="hljs-string">q(User::getRealName, "shimin")</span>; <span class="hljs-keyword">if</span> (user.getAge == <span class="hljs-number">33</span>) { lambdaUpdateChainWrapper.set(User::getAge, <span class="hljs-number">33</span>); } lambdaUpdateChainWrapper.update();