Mybatis-plus之CRUD

一、INSERT 插入

执行的SQL语句:INSERT INTO mp_employee ( name, password, email, age, admin, dept_id ) VALUES ( ?, ?, ?, ?, ?, ? )

//  INSERT INTO mp_employee ( name, password, email, age, admin, dept_id ) VALUES ( ?, ?, ?, ?, ?, ? )
        Employee employee = new Employee();
        //employee.setId(3L);
        employee.setName("rjlyf");
        employee.setPassword("123456");
        employee.setAge(23);
        employee.setEmail("rjylf@126.com");
        employee.setDeptId(1L);
        employee.setAdmin(1);
        employeeMapper.insert(employee);
        System.out.println(employee);

二、UPDATA 更新

mapper.updateById() 根据id更新对象信息

执行的SQL语句:UPDATE mp_employee SET name=?, password=?, email=?, age=?, admin=?, dept_id=? WHERE id=?

        Employee employee = new Employee();
        employee.setAge(18);
        employeeMapper.updateById(employee);

mapper.update(employee,wrapper)

使用条件构造器 UpdateWrapper 进行修改

需求:将 name=ylf 的 age 改为 18

执行的SQL语句:UPDATE employee SET age=?, admin=? WHERE (name = ?)

/**使用条件构造器 UpdateWrapper 进行修改 */

Employee employee = new Employee();
employee.setAge(18);  // 修改的字段
UpdateWrapper<Employee> wrapper = new UpdateWrapper<>();
wrapper.eq("name","ylf");	// 修改的条件
employeeMapper.update(employee,wrapper);

 小结

  • 使用选择:
    • 当知道 id 的情况下,建议使用 updateById()
      • 先查,后改,在保存

    • 部分字段修改,使用 update()

      • wrapper.eq(条件).set(更新字段)

  • 使用注意:

    • 在使用update() 方法时,为避免数据丢失,第一个实体类参数可以设置为null

    • 原因:实体类中的属性类型若为基本类型,则存在默认值。

DELETE 删除

deleteById(id)

通过 id 删除

需求 :删除id=1的员工信息

执行的SQL语句:DELETE FROM employee WHERE id=?

employeeMapper.deleteById(1L);

deleteBatchIds(idList)

通过 id 批量删除

需求:删除id=3, id=4的员工信息

执行的SQL语句:DELETE FROM employee WHERE id IN ( ? , ? )

employeeMapper.deleteBatchIds(Arrays.asList(3L,4L));

deleteMap(map)

根据 columnMap 条件,删除记录

需求:删除name=rjlyf并且age=25的员工信息

执行的SQL语句:DELETE FROM employee WHERE name = ? AND age = ?

 Map<String,Object> map = new HashMap<>();
        map.put("name","rjlyf");  // 条件
        map.put("age",25);  // 条件
        employeeMapper.deleteByMap(map);

delete(wrapper)

使用条件构造器 QueryWrapper<>(),删除记录

需求:删除name=rjlyf并且age=25的员工信息

执行的SQL语句:DELETE FROM employee WHERE (name = ? AND age = ?)

QueryWrapper<Employee> wrapper = new QueryWrapper<>();
        wrapper.eq("name","fjylf").eq("age",25);//条件
        employeeMapper.delete(wrapper);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值