SpringBoot项目将mybatis升级为mybatis-plus的方法

最近做的项目是用的开源的一个项目改造得来的,而且项目是19年就已经停止维护了,项目的年龄比我工作经验还长,而且我们要在原来的接口上进行改动,但为了兼容前端,所以很多接口改起来很麻烦,新写的话还要写很多sql,于是就想将mybatis升级成mybatis-plus,简化一下开发

第一步,引入maven依赖

 <!-- 注释掉原来的mybatis,否则可能会报错 -->
<!--        <dependency>-->
<!--            <groupId>org.mybatis.spring.boot</groupId>-->
<!--            <artifactId>mybatis-spring-boot-starter</artifactId>-->
<!--        </dependency>-->
<!-- 引入 mybatis-plus 的包 -->
  <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-extension</artifactId>
      <version>3.4.1</version>
      <scope>compile</scope>
  </dependency>
  <!-- 引入 generator,代码生成器需要用到,如果不用代码生成器则不需要引入 -->
  <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-generator</artifactId>
      <version>3.4.1</version>
  </dependency>
  <!-- 引入 freemarker -->
  <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
  </dependency>

添加配置类

import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.github.pagehelper.PageInterceptor;
import org.apache.ibatis.io.VFS;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import javax.sql.DataSource;

/**
 * @author javaer
 * @date 2021/11/11 13:35
 **/
@Configuration
//扫描的mapper文件夹地址
@MapperScan(basePackages = {"cn.com.anzhiyi.exam.mapper"})
//开启注解事务管理
@EnableTransactionManagement
public class MybatisPlusConfig {

    /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

    /**
     * pagehelper的分页插件
     */
    @Bean
    public PageInterceptor pageInterceptor() {
        return new PageInterceptor();
    }

    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
        String mapperLocations = "classpath:mapper/*.xml";
        VFS.addImplClass(SpringBootVFS.class);
        final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
        // 配置组件生成策略
        sessionFactory.setGlobalConfig(globalConfig());
        return sessionFactory.getObject();
    }

    @Bean
    public GlobalConfig globalConfig() {
        GlobalConfig conf = new GlobalConfig();
        conf.setDbConfig(new GlobalConfig.DbConfig().setKeyGenerator(new OracleKeyGenerator()));
        return conf;
    }

}

修改nacos或者配置文件中关于mybatis的配置

# mybatis配置
# mybatis:  //将原先的mybatis注释掉,调整为 mybatis-plus 即可
mybatis-plus:
  type-aliases-package: cn.com.anzhiyi.exam.api.module
  configuration:
    # 驼峰转换
    map-underscore-to-camel-case: true
    # 延迟加载
    lazy-loading-enabled: true
  mapper-locations: classpath:mapper/*.xml

基本需要改动的就是上面这些,接下来就是要将相应的代码进行一下生成,我们即可使用mybatis-plus进行开发了,由于mybatis-plus是在mybatis的基础上进行的封装,所以对其的兼容性做的很好,之前的代码最好就不要再动了,要对线上保持敬畏。如果后续需要新开发的接口和功能,我们可以采用mybatis-plus进行开发了

到此这篇关于SpringBoot项目将mybatis升级为mybatis-plus的方法的文章就介绍到这了,更多相关 mybatis升级为mybatis-plus内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 已有的springcloud+mybatis项目升级为mybatis-plus的方法

    已有的springcloud+mybatis项目升级为mybatis-plus 项目模块目录 将mybatis依赖替换为mybatis-plus 修改配置文件 实体类如果与数据库不同名需要加上@TableName @Data @TableName("project_base") public class ProjectBase { @TableId(value = "id", type = IdType.UUID)//id看具体项目要求如果是后台生成则不需要type

  • mybatis升级mybatis-plus时踩到的一些坑

    前言 最近使用RuoYi-Vue来做后台管理脚手架.RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot.Spring Security.MyBatis.Jwt.Vue),内置模块如:部门管理.角色用户.菜单及按钮授权.数据权限.系统参数.日志管理.代码生成等.在线定时任务配置:支持集群,支持多数据源.其官方文档如下 http://doc.ruoyi.vip/ 感兴趣的朋友,可以点链接查看.这个平台目前的orm框架是mybatis,而项目组的o

  • SpringBoot项目中遇到的BUG问题及解决方法

    1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 解决方法: 在yml配置文件中加入debug: true,因为默认的话是false 2.在集成mybatis时mapper包中的类没被扫描 org.springframework.beans.factory.NoSuchBean

  • springBoot项目启动类启动无法访问的解决方法

    网上也查了一些资料,我这里总结.下不来虚的,也不废话. 解决办法: 1.若是maven项目,则找到右边Maven Projects --->Plugins--->run(利用maven启动)则可以加载到webapp资源 2.上面方法治标不治本.在项目的pom文件中添加<bulid>标签标注路径即可,pom.xml后部分代码如下: 刷新maven加载,重启项目.若还是无法访问,重新导入项目 <dependencies> xxxxxxxxxxxx </dependen

  • SpringBoot项目修改访问端口和访问路径的方法

    创建SpringBoot项目,启动后,默认的访问路径即主机IP+默认端口号8080:http://localhost:8080/ 此时,我们就可以访问Controller层的接口了,如:http://localhost:8080/hello package com.springboot.test; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.a

  • springboot 项目容器启动后如何自动执行指定方法

    目录 springboot 项目容器启动后自动执行指定 springboot 容器及启动过程 问题1:为什么要启动父子两个容器? 问题2:在什么时候启动父容器? 问题3:父容器和子容器的区别? 问题4:怎么保证父容器启动过程中 问题5:容器实际通过什么来管理bean springboot 项目容器启动后自动执行指定 我们需要写一个class去让它实现ApplicationRunner,然后重写它的run方法就行了,注意类加上@Component注解 注意:这个class需要写在和Applicat

  • SpringBoot项目启动时增加自定义Banner的简单方法

    目录 前言 制作Banner 总结 前言 最近有小伙伴推荐给博客启动的时候加上自定义Banner,开始我还不太明白他说的是那部分,后面给我发了这样一个文件,陌溪瞬间就懂了 ////////////////////////////////////////////////////////////////////   //                          _ooOoo_                               //   //                    

  • SpringBoot项目集成依赖Mybatis步骤

    SpringBoot项目要如何集成依赖Mybatis呢,请跟着小编按以下步骤操作 先新建或者打开你的springboot项目 打开你的pom.xml文件,定位的依赖的配置部分,然后加入以下依赖,这是依赖mybatis框架 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <v

  • 在SpringBoot项目中利用maven的generate插件

    使用maven 插件 generate生成MyBatis相关文件 在项目中增加 maven 依赖 - mybatis-spring-boot-starter - mysql-connector-java - mybatis-generator-maven-plugin 插件 自动读取 resources 下的generatorConfig.xml 文件 <?xml version="1.0" encoding="UTF-8"?> <project

  • springBoot项目集成quartz开发定时任务案例及注意事项

    目录 quartz下载.安装 实战案例 常见问题及解决方案 quartz下载.安装 Quartz是完全由java开发的一个开源的任务日程管理系统,任务进度管理器就是一个在预先确定的时间到达时,负责执行(或者通知)一段程序或功能的系统,即定时执行某个任务.Quartz用一个小Java库发布文件(.jar文件),这个库文件包含了所有Quartz核心功能.这些功能的主要接口(API)是Scheduler接口.它提供了简单的操作,例如:将任务纳入日程或者从日程中取消,开始/停止/暂停日程进度. 上图是q

  • springboot项目启动的时候参数无效的解决

    目录 springboot项目启动的时候参数无效 改动run方法的参数,添加args参数如下 springboot项目启动参数设置问题 Spring boot项目常用的几种启动方式 war包部署方式 springboot项目启动的时候参数无效 今天启动一个springboot项目发现启动的时候输入的参数都是不能生效,但是yaml文件的配置却生效了,排查了半天,最后发现原来启动类里面有问题,原代码如下 public class Application { public static void ma

  • SpringBoot项目将mybatis升级为mybatis-plus的方法

    最近做的项目是用的开源的一个项目改造得来的,而且项目是19年就已经停止维护了,项目的年龄比我工作经验还长,而且我们要在原来的接口上进行改动,但为了兼容前端,所以很多接口改起来很麻烦,新写的话还要写很多sql,于是就想将mybatis升级成mybatis-plus,简化一下开发 第一步,引入maven依赖 <!-- 注释掉原来的mybatis,否则可能会报错 --> <!-- <dependency>--> <!-- <groupId>org.mybat

随机推荐