若依前后端分离版整合Mybatis-puls
admin
2024-02-10 18:40:59
0次

前提:默认在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.baomidoumybatis-plus-boot-starter3.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
{@Beanpublic 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();// 设置数据库类型为mysqlpaginationInnerInterceptor.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 implements I${ClassName}Service extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service

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

相关内容

热门资讯

AI做攻略、“双向奔赴”……国... 本文转自:人民网人民网记者 许维娜今年国庆假期,AI(人工智能)成了不少年轻人的“旅行搭子”。行前做...
合肥的这个“梗”, 翻篇了 社交平台的评论区,曾长期流传一句专属于合肥的黑色幽默。有人问合肥哪里好玩,本地网友半开玩笑地回复:合...
7万+旅游中高层都在的群,今天... 做旅游这行,资源卡位、渠道互通、项目落地——往往就差一个“对的机会”。我们的行业社群已聚集70,00...
一场帐篷音乐节,如何让井研从“... 帐篷音乐节现场封面新闻记者 周洪攀10月的研溪湿地,晚风里裹着柑橘的清甜与民谣的回响。夜幕降临,10...
白鹤翩翩落星愿,上海迪士尼度假... 10月9日,世界候鸟日前夕,上海迪士尼度假区星愿公园的湖风里多了一分白鹤的灵动。三座白鹤雕塑正式揭幕...
成都锦江边赏初秋枫叶飘飘 目前,成都锦江边国华街枫叶树红了。近年来,国华街附近的几条街都栽种了红枫树,是城区较集中看枫叶的点位...
GBTA:商务旅行正在复苏,但... 亚太正在成为全球商务旅行增长的重要引擎。在经历疫情后的快速反弹之后,全球商务旅行正在进入一个新的增长...
从景区焕新到节赛引流 邹城双节... 齐鲁网·闪电新闻10月9日讯 中秋、国庆“双节”假期,邹城市文化和旅游局提前谋划、周密部署,立足自身...
江山如此多娇 且看石楼今朝 金秋十月,黄河岸畔秋意盎然,丰收盛会喜迎国庆。本次石楼国庆文旅活动以“江山如此多娇,且看石楼今朝”为...
海南国庆假期接待游客475.4... 2026年国庆假期,海南接待游客475.40万人次,较2025年增长13.1%,较2024年增长15...