springboot将mybatis升级为mybatis-plus的实现

 更新时间:2023年09月16日 11:32:49   作者:天河归来  
之前项目工程用的是mybatis,现在需要将其替换为mybatis-plus,本文主要介绍了springboot将mybatis升级为mybatis-plus的实现,具有一定的参考价值,感兴趣的可以了解一下

1. 整体描述

之前项目工程用的是mybatis,现在需要将其替换为mybatis-plus,mybatis-plus的mapper有很多自带的查询方法,用起来更加方便一些。

2. 具体步骤

2.1 更新pom引用

首先要将之前mybatis的依赖删除,要不会有问题。删除之后在pom加入如下引用:

        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>

其中后面的starter版本和springboot的版本一致即可。

2.2 更新yml配置

和mybatis一样,mybatis-plus也是需要配置一些参数的,比如mapper文件路径,domain文件路径之类的,同样先将之前mybatis的配置删除,然后添加如下配置,参数可以根据自己项目情况进行修改:注:其中包名根据自己项目修改。

mybatis-plus:
  # 搜索指定包别名
  type-aliases-package: com.[XXX].project.**.domain
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapper-locations: classpath*:mybatis/**/*Mapper.xml
  # 全局配置
  global-config:
    # 主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 0
    # 字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    # 驼峰下划线转换
    db-column-underline: true
    # 刷新mapper 调试神器
    refresh-mapper: true
    # 配置
    configuration:
      # 驼峰式命名
      map-underscore-to-camel-case: true
      # 全局映射器启用缓存
      cache-enabled: true
      # 指定 MyBatis 所用日志的具体实现
      log-impl: org.slf4j;
      # 配置默认的执行器
      default-executor-type: reuse
      # 允许 JDBC 支持自动生成主键
      use-generated-keys: true

2.3 更新config配置

如果之前项目里有mybatis的config文件,@config的配置,需要删除。这块我没在代码里加config配置,就把之前的配置删除就可以了。

2.4 BaseEntity修改

如果之前的项目里有使用BaseEntity,但是BaseEntity类里的一些参数在数据库里没有,需要在这些参数上面添加一个注解,告诉mybatis-plus这些字段不需要去查数据库,具体如下:

    /**
     * 搜索值
     */
    @TableField(exist = false)
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String searchValue;

还有其他的domain中如果也是不存在数据库中不存在的参数,建议也加上这个注解。

3. 程序启动

至此,修改就完成了,修改之后rebuild一下功能,我之前没rebuild,就一直报错,rebuild一下就好了。启动之后看到如下,就说明mybatis-plus已经成功引入并启动了:

mybatis-plus启动log

4. 总结

mybatis-plus相比mybatis还有有很多方便之处的,还有就是从mybatis升级到mybatis-plus,之前的mapper代码可以直接使用,是向下兼容的,在之后新创建的mapper的时候,可以用mybatis-plus的BaseMapper里面的自带方法,这样对我们来说就少了很多麻烦,之前项目写完的那些mapper就不用改了。

到此这篇关于springboot将mybatis升级为mybatis-plus的实现的文章就介绍到这了,更多相关mybatis升级为mybatis-plus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入java垃圾回收的详解

    深入java垃圾回收的详解

    本篇文章是对java垃圾回收进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 一篇文章带你了解Java 中序列化与反序列化

    一篇文章带你了解Java 中序列化与反序列化

    这篇文章主要介绍了Java 序列化与反序列化(Serialization),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Java SPI机制原理及代码实例

    Java SPI机制原理及代码实例

    这篇文章主要介绍了Java SPI机制原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • java使用Dijkstra算法实现单源最短路径

    java使用Dijkstra算法实现单源最短路径

    这篇文章主要为大家详细介绍了java使用Dijkstra算法实现单源最短路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • IDEA2020 1.1中Plugins加载不出来的问题及解决方法

    IDEA2020 1.1中Plugins加载不出来的问题及解决方法

    这篇文章主要介绍了IDEA2020 1.1中Plugins加载不出来的问题,本文还给大家提到了IDEA 2020.1.1 找不到程序包和符号的问题,感兴趣的朋友跟随小编一起看看吧
    2020-06-06
  • JVM回收跨代垃圾的方式详解

    JVM回收跨代垃圾的方式详解

    在Java堆内存中,年轻代和老年代之间存在的对象相互引用,假设现在要进行一次新生代的YGC,但新生代中的对象可能被老年代所引用的,为了找到新生代中的存活对象,不得不遍历整个老年代,这样明显效率很低下,那么如何快速识别并回收这种引用对象呢
    2024-02-02
  • java实现树形菜单对象

    java实现树形菜单对象

    这篇文章主要为大家详细介绍了java实现树形菜单对象,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 基于logback.xml不生效问题的解决

    基于logback.xml不生效问题的解决

    这篇文章主要介绍了基于logback.xml不生效问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Java语言通过三种方法实现队列的示例代码

    Java语言通过三种方法实现队列的示例代码

    这篇文章主要介绍了Java语言通过三种方法来实现队列的实例代码,数组模拟队列,通过对定义的了解,发现队列很像我们的数组,下面我们通过实践给大家详细介绍,需要的朋友可以参考下
    2022-02-02
  • Java多线程之火车售票系统

    Java多线程之火车售票系统

    这篇文章主要为大家详细介绍了Java多线程之火车售票系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07

最新评论