16-MybatisPlus 逻辑删除拦截器

本文介绍了如何在MyBatis-Plus中通过配置文件设置逻辑删除规则,对实体类添加注解,以及创建删除接口来管理数据的逻辑删除状态,并演示了接口的调试过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:

一、在启动类配置文件 配置参数

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: delete_flag         -- 删除字段
      logic-delete-value: 1                   -- 删除值
      logic-not-delete-value: 0               -- 保留值

 二、对实体类添加注解 @TableLogic

 

三、添加删除接口

@DeleteMapping("/{id}")
public Result delUser(@PathVariable Integer id) {
    return Result.ok(userService.delUser(id));
}

四、调试接口 

MyBatis-Plus拦截器是一个强大的功能,可以在SQL执行过程中进行拦截和增强。通过使用拦截器,我们可以在SQL执行前后进行一些自定义操作,比如参数验证、SQL性能监控、SQL日志记录等。 以下是MyBatis-Plus拦截器的使用步骤: 1. 创建拦截器类:首先,你需要创建一个实现了`org.apache.ibatis.plugin.Interceptor`接口的拦截器类。该接口有三个方法需要实现:`intercept`、`plugin`和`setProperties`。 - `intercept`方法:在该方法中实现你自定义的逻辑,可以在SQL执行前后做一些操作。 - `plugin`方法:用于包装目标对象,返回一个代理对象。可以通过该方法决定是否要进行拦截。 - `setProperties`方法:用于设置拦截器的属性。 2. 注册拦截器:在MyBatis的配置文件中,注册你的自定义拦截器。可以通过`<plugins>`标签进行配置,将拦截器类添加到MyBatis的拦截器链中。 ```xml <configuration> <plugins> <plugin interceptor="com.example.MyInterceptor"> <!-- 拦截器的属性配置 --> </plugin> </plugins> </configuration> ``` 3. 使用拦截器:在需要使用拦截器的地方,比如Mapper接口的方法上,添加`@Intercepts`注解来标识该方法需要被拦截。 ```java @Intercepts({ @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}), @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class}) }) public class MyInterceptor implements Interceptor { // 实现拦截逻辑 // ... } ``` 这样,当你执行对应的SQL操作时,拦截器就会被触发,并执行相应的逻辑。 注意:以上是基本使用步骤,具体的拦截器实现方式和应用场景可以根据需求来定制。希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值