Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz4j Spring R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7后台标准模板
iBiz4j Spring R7
提交
b8d57679
提交
b8d57679
编写于
3月 22, 2021
作者:
xignzi006
🇨🇳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 MybatisConfiguration.java.ftl
上级
a8dacde5
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
23 行增加
和
0 行删除
+23
-0
MybatisConfiguration.java.ftl
...S_PKGPATH%/core/util/config/MybatisConfiguration.java.ftl
+23
-0
未找到文件。
SLN/%PUBPRJ%-core/src/main/java/%SYS_PKGPATH%/core/util/config/MybatisConfiguration.java.ftl
浏览文件 @
b8d57679
...
...
@@ -15,10 +15,14 @@ import org.apache.ibatis.mapping.VendorDatabaseIdProvider;
import
org
.
springframework
.
context
.
annotation
.
Bean
;
import
org
.
springframework
.
context
.
annotation
.
Configuration
;
import
org
.
mybatis
.
spring
.
annotation
.
MapperScan
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Autowired
;
import
java
.
util
.
Properties
;
<#
if
sys
.
getSaaSMode
()==
2
>
import
com
.
baomidou
.
mybatisplus
.
core
.
parser
.
ISqlParserFilter
;
import
com
.
baomidou
.
mybatisplus
.
core
.
parser
.
SqlParserHelper
;
import
com
.
baomidou
.
mybatisplus
.
extension
.
plugins
.
tenant
.
TenantSqlParser
;
import
com
.
baomidou
.
mybatisplus
.
core
.
parser
.
ISqlParser
;
import
org
.
apache
.
ibatis
.
mapping
.
MappedStatement
;
import
java
.
util
.
ArrayList
;
import
java
.
util
.
List
;
</#
if
>
...
...
@@ -29,7 +33,11 @@ import java.util.List;
@
Configuration
@
MapperScan
(
value
=
"${pub.getPKGCodeName()}.core.*.mapper"
,
nameGenerator
=
UniqueNameGenerator
.
class
)
public
class
MybatisConfiguration
{
<#
if
sys
.
getSaaSMode
()==
2
>
@
Autowired
private
SaaSTenantProperties
saaSTenantProperties
;
</#
if
>
/**
*
mybatis
适配多数据库
*
@
return
...
...
@@ -68,12 +76,27 @@ public class MybatisConfiguration {
tenantSqlParser
.
setTenantHandler
(
saaSTenantHandler
);
sqlParserList
.
add
(
tenantSqlParser
);
paginationInterceptor
.
setSqlParserList
(
sqlParserList
);
//
设置租户忽略
paginationInterceptor
.
setSqlParserFilter
(
ignoreParserFilter
());
</#
if
>
//
开启
count
的
join
优化
,
只针对部分
left
join
paginationInterceptor
.
setCountSqlParser
(
new
JsqlParserCountOptimize
(
true
));
return
paginationInterceptor
;
}
@
Bean
public
ISqlParserFilter
ignoreParserFilter
()
{
return
metaObject
->
{
//
此处就过滤
MappedStatement
ms
=
SqlParserHelper
.
getMappedStatement
(
metaObject
);
if
(
saaSTenantProperties
.
getIgnoreMappers
().
contains
(
ms
.
getId
()))
{
return
true
;
}
return
false
;
};
}
<#--/**-->
<#--*
mybatis
-
plus
逻辑有效
-->
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录