diff --git a/spring-boot-demo-rbac-shiro/pom.xml b/spring-boot-demo-rbac-shiro/pom.xml index dae3ce8..833ee4c 100644 --- a/spring-boot-demo-rbac-shiro/pom.xml +++ b/spring-boot-demo-rbac-shiro/pom.xml @@ -45,6 +45,23 @@ test + + com.baomidou + mybatis-plus-boot-starter + 3.1.0 + + + + p6spy + p6spy + 3.8.1 + + + + mysql + mysql-connector-java + + cn.hutool hutool-all diff --git a/spring-boot-demo-rbac-shiro/src/main/java/com/xkcoding/rbac/shiro/SpringBootDemoRbacShiroApplication.java b/spring-boot-demo-rbac-shiro/src/main/java/com/xkcoding/rbac/shiro/SpringBootDemoRbacShiroApplication.java index af5add5..6159655 100644 --- a/spring-boot-demo-rbac-shiro/src/main/java/com/xkcoding/rbac/shiro/SpringBootDemoRbacShiroApplication.java +++ b/spring-boot-demo-rbac-shiro/src/main/java/com/xkcoding/rbac/shiro/SpringBootDemoRbacShiroApplication.java @@ -1,5 +1,6 @@ package com.xkcoding.rbac.shiro; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -17,6 +18,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @modified: yangkai.shen */ @SpringBootApplication +@MapperScan("com.xkcoding.rbac.shiro.mapper") public class SpringBootDemoRbacShiroApplication { public static void main(String[] args) { diff --git a/spring-boot-demo-rbac-shiro/src/main/java/com/xkcoding/rbac/shiro/config/MybatisPlusConfig.java b/spring-boot-demo-rbac-shiro/src/main/java/com/xkcoding/rbac/shiro/config/MybatisPlusConfig.java new file mode 100644 index 0000000..3faf11a --- /dev/null +++ b/spring-boot-demo-rbac-shiro/src/main/java/com/xkcoding/rbac/shiro/config/MybatisPlusConfig.java @@ -0,0 +1,48 @@ +package com.xkcoding.rbac.shiro.config; + +import com.baomidou.mybatisplus.core.parser.ISqlParser; +import com.baomidou.mybatisplus.extension.parsers.BlockAttackSqlParser; +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * MP3 配置 + *

+ * + * @package: com.xkcoding.rbac.shiro.config + * @description: MP3 配置 + * @author: yangkai.shen + * @date: Created in 2019-03-21 17:06 + * @copyright: Copyright (c) 2019 + * @version: V1.0 + * @modified: yangkai.shen + */ +@Configuration +public class MybatisPlusConfig { + + @Bean + public PaginationInterceptor paginationInterceptor() { + PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); + + List sqlParserList = new ArrayList<>(); + // 攻击 SQL 阻断解析器、加入解析链 + sqlParserList.add(new BlockAttackSqlParser()); + paginationInterceptor.setSqlParserList(sqlParserList); + + return paginationInterceptor; + } + + /** + * SQL执行效率插件 + */ + @Bean + public PerformanceInterceptor performanceInterceptor() { + return new PerformanceInterceptor(); + } +} diff --git a/spring-boot-demo-rbac-shiro/src/main/resources/application.yml b/spring-boot-demo-rbac-shiro/src/main/resources/application.yml index a02fbde..44b6c3a 100644 --- a/spring-boot-demo-rbac-shiro/src/main/resources/application.yml +++ b/spring-boot-demo-rbac-shiro/src/main/resources/application.yml @@ -1,4 +1,15 @@ server: port: 8080 servlet: - context-path: /demo \ No newline at end of file + context-path: /demo +spring: + datasource: + hikari: + username: root + password: root + driver-class-name: com.p6spy.engine.spy.P6SpyDriver + url: jdbc:p6spy:mysql://127.0.0.1:3306/spring-boot-demo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8 +mybatis-plus: + global-config: + # 关闭banner + banner: false \ No newline at end of file diff --git a/spring-boot-demo-rbac-shiro/src/main/resources/spy.properties b/spring-boot-demo-rbac-shiro/src/main/resources/spy.properties new file mode 100644 index 0000000..f611f24 --- /dev/null +++ b/spring-boot-demo-rbac-shiro/src/main/resources/spy.properties @@ -0,0 +1,21 @@ +module.log=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory +# 自定义日志打印 +logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger +#日志输出到控制台 +appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger +# 使用日志系统记录 sql +#appender=com.p6spy.engine.spy.appender.Slf4JLogger +# 设置 p6spy driver 代理 +deregisterdrivers=true +# 取消JDBC URL前缀 +useprefix=true +# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. +excludecategories=info,debug,result,batch,resultset +# 日期格式 +dateformat=yyyy-MM-dd HH:mm:ss +# 实际驱动可多个 +#driverlist=org.h2.Driver +# 是否开启慢SQL记录 +outagedetection=true +# 慢SQL记录标准 2 秒 +outagedetectioninterval=2 \ No newline at end of file