• 在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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    其中后面的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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    3. 程序启动

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

    4. 总结

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

    以上就是本文的全部内容,感谢阅读。

  • 相关阅读:
    Java基础入门·多线程·线程池ThreadPool篇
    20221108:onnx2caffe错误处理
    如何解决全局工业相机飞拍拖影问题
    Pretrain-finetune、Prompting、Instruct-tuning训练方法的区别
    C++高性能优化编程之如何测量性能(一)
    行情分析——加密货币市场大盘走势(10.20)
    冥想第五百六十五天。
    树莓派(香橙派)通过.NET IoT 操作SPI编写屏幕驱动 顺手做个四足机器人(一)
    维修电工实训装置
    企业开发项目完整流程
  • 原文地址:https://blog.csdn.net/nhx900317/article/details/132900121