若依前后端分离版整合Mybatis-puls
若依前后端分离版整合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的依赖 ,版本自行修改
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
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
完结 ,撒花。生成这块,可以自己根据自己的需求调整。
更多推荐
所有评论(0)