springBoot + mybatis-plus 实现监听 mysql的数据增删改的监听

这篇具有很好参考价值的文章主要介绍了springBoot + mybatis-plus 实现监听 mysql的数据增删改的监听。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Spring Boot + MyBatis-Plus中实现MySQL数据增删改的监听,可以通过以下步骤:

1. 添加MyBatis-Plus依赖,在pom.xml文件中添加以下依赖:

 

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>${mybatis-plus.version}</version>
</dependency>

2. 配置MyBatis-Plus,通常在application.yml文件中进行配置:

mybatis-plus:
  # 数据库类型
  db-type: mysql
  # 实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.example.entity
  # 加载自定义的Mybatis XML映射文件
  mapperLocations: classpath:/mapper/**/*.xml
  # 是否开启SQL打印
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true

3. 创建监听器类,实现com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor接口。 

@Component
public class DataChangeInterceptor implements ISqlParser {

    @Override
    public void parser(MetaObject metaObject) {
        MappedStatement mappedStatement = (MappedStatement) metaObject.getValue("delegate.mappedStatement");
        String sql = mappedStatement.getSqlSource().getBoundSql(metaObject).getSql();
        // 处理SQL语句,检测是否为对指定表进行的增删改操作
        // 如果是,则发送通知给应用程序
    }
}

4. 在MyBatis-Plus配置中添加拦截器。 

@Configuration
public class MybatisPlusConfig {

    @Autowired
    private DataChangeInterceptor dataChangeInterceptor;

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(dataChangeInterceptor);
        return interceptor;
    }
}

5. 对需要进行监听操作的实体类添加@TableLogic注解,启用逻辑删除功能。

@Data
@TableName("user")
public class User {

    @TableId(type = IdType.AUTO)
    private Long id;

    private String name;
    
    @TableLogic
    private Integer deleted;
}

以上就是使用Spring Boot + MyBatis-Plus实现MySQL数据增删改的监听的基本步骤。需要注意的是,如果不使用逻辑删除功能,则无法检测到数据删除操作。文章来源地址https://www.toymoban.com/news/detail-608221.html

到了这里,关于springBoot + mybatis-plus 实现监听 mysql的数据增删改的监听的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

    MySQL 主从复制是一种常见的数据库架构,它可以提高数据库的性能和可用性。 动态数据源切换则可以根据业务需求,在不同场景下使用不同的数据源,比如在读多写少的场景下,可以通过切换到从库来分担主库的压力 。 在本文中,我们将介绍如何在 Spring Boot 中实现 MySQL 动

    2024年02月19日
    浏览(42)
  • SpringBoot+Mybatis-Plus+Mysql的保姆级搭建

    本文通过简单的示例代码和说明,让读者能够了解Mybatis-Plus+Mysql的简单使用 必须说明的是,本文有部分内容是为了后续的微服务写的,所以如果只想用Mybatis-Plus的话,直接使用bank1项目即可   1.新建父项目,选用spring initializr即可,可以删除其他文件,仅仅留下pom文件当成父

    2024年02月12日
    浏览(36)
  • Springboot引入mybatis-plus及操作mysql的json字段

    springboot引入mybatis-plus,创建springboot项目省略 pom文件 配置文件 备注信息 springboot使用mybatis和mybatis-plus没有什么区别,需要注意的是配置文件跟配置名:mybatis-plus 使用mybatis-plus的有点在于,在mybatis的基础上记性了一系列的有效封装,节约了开发时间,有这方面兴趣额同学自行

    2024年02月06日
    浏览(39)
  • springboot+mybatis-plus实现自动建表

    好长时间没输出了,最近工作上也是太多事,领导动不动就拍脑门,那叫一个酸爽~ 工作能力的提现不但是技术或解决问题的能力上,还体现在要能立刻满足领导的各种需求,不管是哪方面的需求,这样才能够拍上马屁,步步高升。 言归正传,作为技术从业者,还是要多深耕

    2024年02月16日
    浏览(28)
  • SpringBoot整合Mybatis-plus实现商品推荐

    在开始编写代码之前,我们需要准备一下环境: Java 8+ IntelliJ IDEA Node.js 和 npm Vue CLI 如果你还没有安装Vue CLI,则可以使用以下命令在终端中安装: 首先,我们需要使用Spring Boot创建一个新项目。在IntelliJ IDEA中,选择“New Project”,然后选择“Spring Initializr”。 在“New Project”

    2024年02月01日
    浏览(35)
  • 基于springboot+mybatis-plus+mysql+vue音乐网站管理系统

    音乐播放 用户登录注册 用户信息编辑、头像修改 歌曲、歌单搜索 歌单打分 歌单、歌曲评论 歌单列表、歌手列表分页显示 歌词同步显示 音乐收藏、下载、拖动控制、音量控制 后台对用户、歌曲、歌手、歌单信息的管理 开发工具:IDEA /ECLIPSE 数据库:MYSQL5.7以上 JAVA: JDK1.8

    2024年02月13日
    浏览(37)
  • springboot~mybatis-plus的DynamicTableNameInnerInterceptor实现分表

    DynamicTableNameInnerInterceptor是mybatis-plug的一个拦截器插件,可以自己定义需要拦截的表单,然后对它进行加工,这时mybatis-plus就会把SQL代码的表名加上你的这个装饰。 我们通常把mybatis做成一个包,公司其它同事直接使用咱们的包,包里会统一定义数据 基类 、 数据分页 、 数据

    2024年02月06日
    浏览(38)
  • springboot mybatis-plus数据库超时配置

    超时异常 写XML 写法,单位秒 Mapper类写法,单位秒 超时异常 整个事务的超时时间,单位是秒。 它的原理大致是事务启动时,事务上下文会计算一个到期时间deadLine(当前时间+超时时间),当mybatis - prepareStatement时,会调用 SpringManagedTransaction 的getTimeOut,该方法会计算事务剩

    2024年02月03日
    浏览(42)
  • SpringBoot 结合 mybatis-plus 实现分页功能

            要实现分页功能方法有很多,但最基本的实现原理都差不多,所以在实现功能之前要先把原理搞明白。正如删除有 “逻辑删除”  和 “物理删除\\\" 之分,分页也有 “逻辑分页” 和 “物理分页”; 1、逻辑分页:逻辑分页依赖于代码。(Mybatis自带的分页插件就是逻

    2024年02月06日
    浏览(32)
  • Springboot 配置动态多数据源(Mybatis-plus)

    前言:在项目中需要用到动态切换多数据源,查阅Mybatis-plus文档得知可以通过@DS注解,但该方法主要针对不同内容的数据源,而目前场景是相同内容的数据库需要在运行时根据请求头动态切换,因此文档方法不适用。 注意,不要使用dynamic-datasource-spring-boot-starter依赖包。 应用

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包