若依前后端分离版整合Mybatis-puls

前提:默认在git上拉完代码,可以本地启动。(因为修改过项目名称所以hy可以理解为原来的ry)

1、修改配置文件

文件名:hy-admin/src/main/resources/application.yml

注释掉原来的MyBatis配置,加入MyBatis-plus的配置

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

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

        注:typeAliasesPackage: com.hy.**.domain这里面的hy根据自己的目录来修改

2、修改pom.xml

        文件名:hy-common/pom.xml

        加入mybatis-plus的依赖  ,版本自行修改

        
            com.baomidou
            mybatis-plus-boot-starter
            3.4.2
        

3、添加mybatis-plus的config文件       

        文件名:hy-framework/src/main/java/com/hy/framework/config/MyBatisConfig.java

                        hy-framework/src/main/java/com/hy/framework/config/MybatisPlusConfig.java

        这里需要将原来的MyBatisConfig.java文件删除或者注释掉@Configuration

        创建文件MybatisPlusConfig.java,内容如下:

package com.hy.framework.config;

/**
 * @description:
 * @author: pyz
 * @create: 2021-12-28 15:04
 **/


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();
    }
}

如果报错,请刷新maven下载第二步中的依赖包。

至此,启动应该是没有问题的,亲测过!!!!!

但是代码生成会有问题,如有需要,可以继续修改代码生成部分。

4、修改mapper生成

        文件名:hy-generator/src/main/resources/vm/java/mapper.java.vm

        这个可以根据自己的需求自行编辑

在第4行之后添加代码:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

在第16行之后修改代码:

public interface ${ClassName}Mapper  extends BaseMapper<${ClassName}>

最后的效果:

import java.util.List;
import ${packageName}.domain.${ClassName};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
#if($table.sub)
import ${packageName}.domain.${subClassName};
#end

/**
 * ${functionName}Mapper接口
 *
 * @author ${author}
 * @date ${datetime}
 */
public interface ${ClassName}Mapper  extends BaseMapper<${ClassName}>
{
......
}

5、修改service生成

        文件名:hy-generator/src/main/resources/vm/java/service.java.vm

        这个可以根据自己的需求自行编辑

在第4行之后添加代码:

import com.baomidou.mybatisplus.extension.service.IService;

在第12行之后修改代码:

public interface I${ClassName}Service  extends IService<${ClassName}>

最后的效果:


import java.util.List;
import ${packageName}.domain.${ClassName};
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * ${functionName}Service接口
 * 
 * @author ${author}
 * @date ${datetime}
 */
public interface I${ClassName}Service extends IService<${ClassName}>

6、修改service实现的生成

        文件名:hy-generator/src/main/resources/vm/java/serviceImpl.java.vm

        这个可以根据自己的需求自行编辑

在第21行之后添加代码:

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

在第30行之后修改代码:

public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service

最后的效果:

import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

/**
 * ${functionName}Service业务层处理
 * 
 * @author ${author}
 * @date ${datetime}
 */
@Service
public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service

完结 ,撒花。生成这块,可以自己根据自己的需求调整。

你可能感兴趣的:(mybatis,spring,boot,java,mybatis,java,ruoyi,mybatis-plus,升级)