mybatis-plus修改和批量修改

根据ID更新

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

Integer rows = userMapper.updateById(user);
System.out.println(rows);

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

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

批量操作

jdbc url上加上rewriteBatchedStatements=true参数

JDBC默认把批量执行的一组sql语句拆散一条一条地发给MySQL,rewriteBatchedStatements参数置为true,批量执行SQL

你可能感兴趣的:(Java,mysql,java,数据库,mybatis-plus)