删除操作
1、根据 id 删除记录
// 测试删除
@Test
public void testDeleteById() {
userMapper.deleteById(1473902116184969220L);
}
// 测试id批量删除
@Test
public void testDeleteBatchId() {
userMapper.deleteBatchIds(Arrays.asList(1473902116184969222L,1473902116184969221L));
}
// 通过map删除
@Test
public void testDeleteMap() {
HashMap<String, Object> map = new HashMap<>();
map.put("name","itheibai");
map.put("age",2);
userMapper.deleteByMap(map);
}
我们在工组中会遇到一些问题:逻辑删除!
逻辑删除
物理删除 :从数据库中直接移除
逻辑删除 :再数据库中没有被移除,而是通过一个变量来让他失效! deleted = 0 => deleted = 1
管理员可以查看被删除的记录!防止数据的丢失,类似于回收站!
测试一下:
1、在数据表中增加一个 deleted 字段
2、实体类中增加属性
@TableLogic
private Integer deleted;
3、配置!
mybatis-plus:
global-config:
db-config:
logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
4、测试一下删除!
// 测试删除
@Test
public void testDeleteById() {
userMapper.deleteById(1L);
}
走的是更新操作,并不是删除操作,记录依旧在数据库,但是值确已经变化了!
以上的所有CRUD操作及其扩展操作,我们都必须精通掌握!会大大提高你的工作和写项目的效率!
评论前必须登录!
注册