首页 > 其他分享 >把公司的ruoyi项目mybatis升级到mybatis-plus

把公司的ruoyi项目mybatis升级到mybatis-plus

时间:2023-06-13 15:03:32浏览次数:42  
标签:ruoyi 修改 baomidou mybatis plus com public



ruoyi项目mybatis升级到mybatis-plus

  • 1、ruoyi-common\pom.xml模块添加整合依赖
  • 2、ruoyi-admin文件application.yml,修改mybatis配置为mybatis-plus
  • 3、添加Mybatis Plus配置MybatisPlusConfig.java
  • 4、升级后需要修改的地方
  • 4.1 service接口修改
  • 4.2 service实现修改
  • 4.3 mapper修改


1、ruoyi-common\pom.xml模块添加整合依赖

<!-- mybatis-plus 增强CRUD -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.4.2</version>
</dependency>

2、ruoyi-admin文件application.yml,修改mybatis配置为mybatis-plus

把之前的 mybatis的相关配置给删除掉,使用这个配置代替

# MyBatis Plus配置
mybatis-plus:
  # 搜索指定包别名
  typeAliasesPackage: com.ruoyi.**.domain
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapperLocations: classpath*:mapper/**/*Mapper.xml
  # 加载全局的配置文件
  configLocation: classpath:mybatis/mybatis-config.xml

3、添加Mybatis Plus配置MybatisPlusConfig.java

原来的MyBatisConfig.java需要删除掉,这里是ruoyi的包名,如果项目包名修改了,请修改成自己对应的包名,到这里基本上就升级成功了

package com.ruoyi.framework.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * Mybatis Plus 配置
 * 
 * @author ruoyi
 */
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
public class MybatisPlusConfig
{
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor()
    {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 分页插件
        interceptor.addInnerInterceptor(paginationInnerInterceptor());
        // 乐观锁插件
        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
        // 阻断插件
        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
        return interceptor;
    }

    /**
     * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
     */
    public PaginationInnerInterceptor paginationInnerInterceptor()
    {
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
        // 设置数据库类型为mysql
        paginationInnerInterceptor.setDbType(DbType.MYSQL);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        paginationInnerInterceptor.setMaxLimit(-1L);
        return paginationInnerInterceptor;
    }

    /**
     * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
     */
    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
    {
        return new OptimisticLockerInnerInterceptor();
    }

    /**
     * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
     */
    public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
    {
        return new BlockAttackInnerInterceptor();
    }
}

4、升级后需要修改的地方

之前的代码不需要动,如果想使用mybatis-plus的话,可能和之前调用有些不一样,这里做下提示

4.1 service接口修改

这里继承了 IService接口,并且把对应的实体传参进来了

public interface IPreplanService {
修改成
public interface IPreplanService extends IService<BizPreplan> {

4.2 service实现修改

这里多了一个继承 ServiceImpl<BizPreplanMapper, BizPreplan>,把mapper层给拉进来了,这里idea会飘红,不要怕,把 mapper层也改下就好了

public class PreplanServiceImpl implements IPreplanService {
修改成
public class PreplanServiceImpl extends ServiceImpl<BizPreplanMapper, BizPreplan> implements IPreplanService {

4.3 mapper修改

这里也是多了个继承,对应的xml sql语句不变

public interface BizPreplanMapper {
修改成
public interface BizPreplanMapper extends BaseMapper<BizPreplan>{


标签:ruoyi,修改,baomidou,mybatis,plus,com,public
From: https://blog.51cto.com/u_16159391/6470219

相关文章

  • spring boot连接Mybatis数据库的配置文件(MySql、SQLserver、Oracle)
    序号类型地址1MySQLMySQL操作之概念、SQL约束(一)2MySQLMySQL操作之数据定义语言(DDL)(二)3MySQLMySQL操作之数据操作语言(DML)(三)4MySQLMySQL操作之数据查询语言:(DQL)(四-1)(单表操作)5MySQLMySQL操作之数据查询语言:(DQL)(四-2)(多表查询)6MySQLMySQL操作之数据控制语言:(DC)(五)7MySQLMySQL操作之数......
  • ElementUIplus --- el-menu 菜单折叠的情况下 二级菜单选中 一级菜单lcon 高亮 样式设
    submenu部分代码示例<template><templatev-for="(item,index)inprops.children":key="index"><el-sub-menuv-if="!item.meta.hidden&&item.children":index="item.name"><templat......
  • mybatis分页插件示例
    代码示例: 注意Service中的返回值必须要和mapper中的返回值类型的@OverridepublicPageInfo<UserDO>test(ReqQueryDTOreq){PageHelper.startPage(req.getPageNumber(),req.getPageSize());List<UserDO>userDOS=mapper.pageAllSpaces(req);......
  • mybatisplus自动生成代码
    官网:https://baomidou.com/pages/24112f/1.引入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency> <dependency> ......
  • 带你看懂RuoYi动态数据源切换
    文章目录数据源是什么一、spring中是如何处理各种数据源的?1.开搞springboot2.创建一个测试类二、有了如上的理论,那么想想动态切换数据源吧参考若依的动态数据源配置总结数据源是什么数据源,对于java来说,就是可用的数据库,那么我平时开发的springbootspringcloud项目,那么也就......
  • Mybatis-Plus必会知识点(精美最全)
    1首先说下引入pom里面添加:<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1</version></de......
  • mybatis-config.xml配置文件有顺序限制
    Thecontentofelementtype"configuration"mustmatch"(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".......
  • SSM框架 使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml【MyBatis Generator 】
    在properties配置文件中,数据库用户名的键不能设为username,你随便改个其他的应该都可以,例如jdbc.username,甚至拼错usernaem都可以jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8jdbc.u......
  • 教培行业的“智能GPT私教”?WorkPlusAI助理帮助教培机构实现十倍人效!
    从横空出世到掀起高潮,当下,AIGC(人工智能生成内容)模式下的ChatGPT它正以惊人的速度席卷各个领域,在线教培行业也不例外。那么,正式进入落地期的ChatGPT,在在线教培行业有那些应用前景呢?首先,我们再来了解一下ChatGPT。它作为一种基于深度学习的自然语言处理技术,能根据上下文理解用户输入......
  • mybatis-plus-generator-ui 可视化代码生成器!
    它提供交互式的WebUI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等。可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。git地址:https://github.com/davidfantasy/mybatis-plus-generator-ui一、使用示例1......