山东大学项目实训weblab(四)Mybatis-Plus学习之删除操作

Mybatis-Plus学习之删除操作

根据id删除

@Test
public void testDeleteById(){
    int result = userMapper.deleteById(5L);
	System.out.println(result);
}

批量删除

@Test
public void testDeleteBatchIds() {
    int result = userMapper.deleteBatchIds(Arrays.asList(8, 9, 10));
	System.out.println(result);
}

简单条件删除

@Test
public void testDeleteByMap() {
	HashMap<String, Object> map = new HashMap<>();
	map.put("name", "Helen");
	map.put("age", 18);
    int result = userMapper.deleteByMap(map);
	System.out.println(result);
}

逻辑删除

物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除数据
逻辑删除:假删除,将对应数据中代表是否被删除字段状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据记录

逻辑删除的使用场景:
可以进行数据恢复
有关联数据,不便删除

在表中添加字段,设置为标志位,删除时修改标志位。
在这里插入图片描述
实体类user添加属性,添加注解

	@TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;

在handler中新增deleted属性初始值。

    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime",new Date(),metaObject);//根据名称设置属性值。
        this.setFieldValByName("updateTime",new Date(),metaObject);
        this.setFieldValByName("version",1,metaObject);
        this.setFieldValByName("deleted",0,metaObject);
    }

测试
在这里插入图片描述

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e33b52e] was not registered for synchronization because synchronization is not active
2022-03-22 21:56:02.968  INFO 21460 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2022-03-22 21:56:03.272  INFO 21460 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
JDBC Connection [HikariProxyConnection@417621837 wrapping com.mysql.cj.jdbc.ConnectionImpl@f245bdd] will not be managed by Spring
==>  Preparing: UPDATE user SET deleted=1 WHERE id=? AND deleted=0
==> Parameters: 1506268104781373442(Long)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e33b52e]
1

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值