
com.baomidou
mybatis-plus-boot-starter
${mybatis-plus.version}
2.在模块 ruoyi-common-core里的pom文件中添加依赖
com.baomidou
mybatis-plus-boot-starter
3.nacos配置文件application-dev.yml中添加如下配置,并且去掉ruoyi-system-dev.yml中mybaties的配置
# mybatis配置
mybatis-plus:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.*
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapper-locations: classpath:mapper*.xml
4.在ruoyi-common-core模块下添加类配置文件
MybatisPlusConfig.java
代码
package com.ruoyi.common.core.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;
@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;
}
public PaginationInnerInterceptor paginationInnerInterceptor()
{
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
// 设置数据库类型为mysql
paginationInnerInterceptor.setDbType(DbType.MYSQL);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
paginationInnerInterceptor.setMaxLimit(-1L);
return paginationInnerInterceptor;
}
public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
{
return new OptimisticLockerInnerInterceptor();
}
public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
{
return new BlockAttackInnerInterceptor();
}
}
5.使用
在业务模块中对应的mapper文件和service文件按照mybties-plus的用法正常调用即可
例如在ruoyi-system模块中
关键代码如下
public interface SysMenuMapper extends BaseMapper
在service中调用即可
SysMenu sysMenu = menuMapper.selectById(5l);