在springboot下将mybatis升级为mybatis-plus

news2024/12/23 19:03:28

在springboot下将mybatis升级为mybatis-plus

  • 1. 整体描述
  • 2. 具体步骤
    • 2.1 更新pom引用
    • 2.2 更新yml配置
    • 2.3 更新config配置
    • 2.4 BaseEntity修改
  • 3. 程序启动
  • 4. 总结

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就不用改了。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1011965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实用技巧:Linux上实现OpenGauss数据库远程连接,方便的跨网络数据操作

文章目录 前言1. Linux 安装 openGauss2. Linux 安装cpolar3. 创建openGauss主节点端口号公网地址4. 远程连接openGauss5. 固定连接TCP公网地址6. 固定地址连接测试 &#x1f341; 小结 &#x1f341; 前言 openGauss是一款开源关系型数据库管理系统&#xff0c;采用木兰宽松许…

解决WIN11笔记本Type-C转DP线外接显示器重启开机没信号无法识别需再次插拔问题

在最新的WIN11系统中&#xff0c;你如果使用Type-C转DP线外接显示器&#xff0c;每次开机的时候或许会出现显示器没有信号的问题。这是因为你的显示器和转接线作为USB外设进入休眠了&#xff0c;导致需要再次插拔才能识别出来&#xff0c;不仅麻烦而且一次次插拔转接线是有磨损…

微信管理系统自动添加好友功能

你是否有这样的困扰&#xff0c;为什么你在添加多个好友的时候&#xff0c;容易添加频繁。你要先知道底层的规则是怎么样的&#xff0c;才能尽可能的去避免添加频繁&#xff0c;加到更多的好友。 微信主动添加好友的规则&#xff1a; ①通过附近人功能加人上限15人/天&#xf…

评价指标和超参数调整进阶

文章目录 查准率 查全率 F1 scoreGridSearchCV概述score参数的修改 classification report 目标&#xff1a; 综合考虑查准率和查全率&#xff0c;来确定最佳模型参数。 查准率 查全率 F1 score https://blog.csdn.net/qq_47180202/article/details/119780943 from sklea…

嵌入式学习笔记(31)异常向量表的编程处理

6.5.1像内存一样去访问异常向量表 &#xff08;1&#xff09;S5PV210的异常向量表可以改变&#xff08;在CP15协处理器中&#xff09;&#xff0c;以适应操作系统的需求。但是目前系统刚启动&#xff0c;此时DRAM尚未初始化&#xff0c;程序哦都市在iSRAM中运行。210在iSRAM中…

分享一个springboot+uniapp基于微信小程序的校医务室健康服务系统源码 lw 调试

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…

笔记(二)图的基本表示【斯坦福CS224W图机器学习】

1、基础知识 图是由节点和连接组成的 本体图&#xff0c;具体图是本体图的实例化&#xff0c;取决于想要解决什么问题 2、图的种类 异质图 异质图-二分图 异质图-二分图-展开 3、节点连接数 节点的度、入度和出度 4、图的基本表示 邻接矩阵 无向图的邻接矩阵是对称阵&#…

Linux_dup、dup2函数

1.dup1 #include <unistd.h> int dup(int oldfd); 作用&#xff1a;复制一个新的文件描述符 从空闲的文件描述符表中&#xff0c;找一个最小的&#xff0c;作为新的拷贝的文件描述符 指向的文件和旧的文件描述符是一样的 int dup2(int oldfd, int newfd); #include <…

任意文件下载

原理&#xff1a; 文件查看或文件下载功能&#xff0c;不做限制&#xff0c;恶意用户就能够查看或下载任意敏感文件&#xff0c;这就是文件查看与下载漏洞。 一般链接形式: download.php?path down.php?file data.php?file download.php?filename 或者包含参数: &Sr…

python基础开发篇3——线上环境部署Django项目

文章目录 一、基本了解二、打包本地项目三、服务器环境准备四、安装web服务4.1 使用uwsgi代理4.2 使用nginx代理&#xff08;推荐&#xff09; 五、部署daphne 一、基本了解 部署思路&#xff1a; Nginx服务接收浏览器的动态请求&#xff0c;再通过uwsgi模块将请求转发给uwsgi服…

计算机网络(二):TCP篇

文章目录 1. TCP头部包含哪些内容&#xff1f;2. 为什么需要 TCP 协议&#xff1f; TCP 工作在哪一层&#xff1f;3. 什么是 TCP &#xff1f;4. 什么是 TCP 连接&#xff1f;5. 如何唯一确定一个 TCP 连接呢&#xff1f;6. UDP头部大小是多少&#xff1f;包含哪些内容&#xf…

基于SSM+Vue的鲸落文化线上体验馆设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【NVM】nvm安装教程(nodejs多版本切换)

系列文章 C#底层库–记录日志帮助类 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/124187709 文章目录 系列文章前言一、安装准备1. 1 下载nvm-setup1. 2 卸载掉nodejs 二、安装步骤2.1 欢迎页面2.2 选择nvm安装目录2.3 选择nodejs安装目录2.4 安装…

进程间通信--信号

1&#xff1a;信号 什么是信号&#xff1f; 信号是给程序提供一种可以处理异步事件的方法&#xff0c;它利用软件中断来实现。不能自定义信号&#xff0c;所有信号都是系统预定义的。 信号由谁产生&#xff1f; 1)由shell终端根据当前发生的错误&#xff08;段错误、非法指令…

途虎养车IPO:飞轮效应下的汽车后市场巨头

汽车已经成为了家家户户必不可少的存在。作为消费品来说&#xff0c;汽车更新换代快&#xff0c;日常使用磨损大&#xff0c;随着智能汽车和新能源汽车市场的不断扩大&#xff0c;也给汽车售后服务产线带来了巨大的发展市场。保养以及维修市场的缺口越来越大&#xff0c;也为汽…

简明 SQL 子查询指南:掌握 EXISTS 实现数据筛选

子查询是一种在查询语句内部嵌套另一个完整查询的方式&#xff0c;用于获取更复杂的查询结果或数据过滤。在执行包含子查询的查询时&#xff0c;数据库引擎首先执行子查询&#xff0c;然后将其结果用作外层查询的条件或数据源。 以下两表作为后续SQL语句所用 table1 …

Jmeter系列-并发线程Concurrency Thread Group的介绍(7)

简介 Concurrency Thread Group提供了用于配置多个线程计划的简化方法&#xff0c;该线程组目的是为了保持并发水平&#xff0c;意味着如果并发线程不够&#xff0c;则在运行线程中启动额外的线程Concurrency Thread Group提供了更好的用户行为模拟&#xff0c;因为它使您可以…

AeDet:方位不变的多视图3D物体检测

代码&#xff1a;https://github.com/fcjian/AeDet 项目地址&#xff1a;https://fcjian.github.io/aedet/ 导读&动机 本篇论文探讨了自动驾驶领域中的多视图3D目标检测问题&#xff0c;特别关注了LSS&#xff08;Lift-Splat-Shoot&#xff09;方法的发展&#xff0c;该方法…

模拟实现C语言--strcat函数

模拟实现C语言–strcat函数 文章目录 模拟实现C语言--strcat函数一、strcat函数是什么&#xff1f;二、使用示例二、模拟实现 一、strcat函数是什么&#xff1f; 作用是把源数据追加到目标空间 char * strcat ( char * destination, const char * source );源字符串必须以 ‘…

Springboot整合规则引擎

Springboot整合Drools 规则引擎 1.添加maven 依赖坐标&#xff0c;并创建springboot项目 <!-- drools规则引擎 --> <dependency><groupId>org.drools</groupId><artifactId>drools-compiler</artifactId><version>7.6.0.Final<…