一、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(更新字段)
-
- 当知道 id 的情况下,建议使用 updateById()
-
使用注意:
-
在使用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);