Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MaxKey单点登录官方(MaxKeyTop)
Mybatis Jpa Extra
提交
6be4ebc4
M
Mybatis Jpa Extra
项目概览
MaxKey单点登录官方(MaxKeyTop)
/
Mybatis Jpa Extra
9 个月 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
Mybatis Jpa Extra
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6be4ebc4
编写于
12月 26, 2021
作者:
M
MaxKey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
_logger
上级
5206404e
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
60 addition
and
46 deletion
+60
-46
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/AbstractStatementHandlerInterceptor.java
...ache/mybatis/jpa/AbstractStatementHandlerInterceptor.java
+2
-3
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/StatementHandlerInterceptor.java
...a/org/apache/mybatis/jpa/StatementHandlerInterceptor.java
+1
-0
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderDelete.java
...e/mybatis/jpa/persistence/provider/SqlProviderDelete.java
+25
-16
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderInsert.java
...e/mybatis/jpa/persistence/provider/SqlProviderInsert.java
+4
-2
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderQuery.java
...he/mybatis/jpa/persistence/provider/SqlProviderQuery.java
+19
-15
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderUpdate.java
...e/mybatis/jpa/persistence/provider/SqlProviderUpdate.java
+9
-10
未找到文件。
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/AbstractStatementHandlerInterceptor.java
浏览文件 @
6be4ebc4
...
...
@@ -42,7 +42,7 @@ public abstract class AbstractStatementHandlerInterceptor implements Intercepto
* @param dialect the dialect to set
*/
public
void
setDialect
(
Dialect
dialect
)
{
_logger
.
debug
(
"dialect from bean :
"
+
dialect
);
_logger
.
debug
(
"dialect from bean :
{}"
,
dialect
);
this
.
dialect
=
dialect
;
}
...
...
@@ -53,10 +53,9 @@ public abstract class AbstractStatementHandlerInterceptor implements Intercepto
public
void
setDialectString
(
String
dialectString
)
{
this
.
dialectString
=
dialectString
;
try
{
_logger
.
debug
(
"dialect from String :
"
+
dialectString
);
_logger
.
debug
(
"dialect from String :
{}"
,
dialectString
);
this
.
dialect
=(
Dialect
)
Class
.
forName
(
dialectString
).
getDeclaredConstructor
().
newInstance
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
_logger
.
error
(
"Dialect new error : "
,
e
);
}
}
...
...
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/StatementHandlerInterceptor.java
浏览文件 @
6be4ebc4
...
...
@@ -44,6 +44,7 @@ public class StatementHandlerInterceptor extends AbstractStatementHandlerInterce
public
Object
intercept
(
Invocation
invocation
)
throws
Throwable
{
Method
m
=
invocation
.
getMethod
();
if
(
"prepare"
.
equals
(
m
.
getName
()))
{
return
prepare
(
invocation
);
}
...
...
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderDelete.java
浏览文件 @
6be4ebc4
...
...
@@ -26,6 +26,7 @@ import org.apache.ibatis.jdbc.SQL;
import
org.apache.mybatis.jpa.persistence.FieldColumnMapper
;
import
org.apache.mybatis.jpa.persistence.JpaBaseEntity
;
import
org.apache.mybatis.jpa.persistence.MapperMetadata
;
import
org.apache.mybatis.jpa.persistence.MapperMetadata.SQL_TYPE
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -40,17 +41,19 @@ public class SqlProviderDelete <T extends JpaBaseEntity>{
public
String
execute
(
Map
<
String
,
Object
>
parametersMap
)
{
Class
<?>
entityClass
=(
Class
<?>)
parametersMap
.
get
(
MapperMetadata
.
ENTITY_CLASS
);
MapperMetadata
.
buildColumnList
(
entityClass
);
if
(
MapperMetadata
.
sqlsMap
.
containsKey
(
MapperMetadata
.
getTableName
(
entityClass
)
+
MapperMetadata
.
SQL_TYPE
.
REMOVE_SQL
))
{
return
MapperMetadata
.
sqlsMap
.
get
(
MapperMetadata
.
getTableName
(
entityClass
)
+
MapperMetadata
.
SQL_TYPE
.
REMOVE_SQL
);
if
(
MapperMetadata
.
sqlsMap
.
containsKey
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
REMOVE_SQL
))
{
return
MapperMetadata
.
sqlsMap
.
get
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
REMOVE_SQL
);
}
FieldColumnMapper
idFieldColumnMapper
=
MapperMetadata
.
getIdColumn
((
entityClass
).
getSimpleName
());
SQL
sql
=
new
SQL
();
sql
.
DELETE_FROM
(
MapperMetadata
.
getTableName
(
entityClass
))
SQL
sql
=
new
SQL
()
.
DELETE_FROM
(
MapperMetadata
.
getTableName
(
entityClass
))
.
WHERE
(
idFieldColumnMapper
.
getColumnName
()
+
" = #{"
+
idFieldColumnMapper
.
getFieldName
()
+
",javaType=string,jdbcType=VARCHAR}"
);
String
deleteSql
=
sql
.
toString
();
String
deleteSql
=
sql
.
toString
();
_logger
.
trace
(
"Delete SQL \n"
+
deleteSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
MapperMetadata
.
SQL_TYPE
.
REMOVE_SQL
,
deleteSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
REMOVE_SQL
,
deleteSql
);
return
deleteSql
;
}
...
...
@@ -68,13 +71,16 @@ public class SqlProviderDelete <T extends JpaBaseEntity>{
}
//remove ;
keyValue
=
keyValue
.
substring
(
1
).
replaceAll
(
";"
,
""
);
FieldColumnMapper
idFieldColumnMapper
=
MapperMetadata
.
getIdColumn
(
entityClass
.
getSimpleName
());
SQL
sql
=
new
SQL
();
sql
.
DELETE_FROM
(
MapperMetadata
.
getTableName
(
entityClass
))
FieldColumnMapper
idFieldColumnMapper
=
MapperMetadata
.
getIdColumn
(
entityClass
.
getSimpleName
());
SQL
sql
=
new
SQL
()
.
DELETE_FROM
(
MapperMetadata
.
getTableName
(
entityClass
))
.
WHERE
(
idFieldColumnMapper
.
getColumnName
()+
" in ( "
+
keyValue
+
" )"
);
String
deleteSql
=
sql
.
toString
();
_logger
.
trace
(
"Delete SQL \n"
+
deleteSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
MapperMetadata
.
SQL_TYPE
.
BATCHDELETE_SQL
,
deleteSql
);
_logger
.
trace
(
"Delete SQL \n"
+
deleteSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
BATCHDELETE_SQL
,
deleteSql
);
return
deleteSql
;
}
...
...
@@ -93,13 +99,16 @@ public class SqlProviderDelete <T extends JpaBaseEntity>{
//remove ;
keyValue
=
keyValue
.
substring
(
1
).
replaceAll
(
";"
,
""
);
FieldColumnMapper
idFieldColumnMapper
=
MapperMetadata
.
getIdColumn
(
entityClass
.
getSimpleName
());
SQL
sql
=
new
SQL
();
sql
.
UPDATE
(
MapperMetadata
.
getTableName
(
entityClass
))
SQL
sql
=
new
SQL
()
.
UPDATE
(
MapperMetadata
.
getTableName
(
entityClass
))
.
SET
(
"status = 9"
)
.
WHERE
(
idFieldColumnMapper
.
getColumnName
()+
" in ( "
+
keyValue
+
" )"
);
String
deleteSql
=
sql
.
toString
();
_logger
.
trace
(
"logic Delete SQL \n"
+
deleteSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
MapperMetadata
.
SQL_TYPE
.
LOGICDELETE_SQL
,
deleteSql
);
String
deleteSql
=
sql
.
toString
();
_logger
.
trace
(
"logic Delete SQL \n"
+
deleteSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
LOGICDELETE_SQL
,
deleteSql
);
return
deleteSql
;
}
...
...
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderInsert.java
浏览文件 @
6be4ebc4
...
...
@@ -46,8 +46,10 @@ public class SqlProviderInsert <T extends JpaBaseEntity>{
public
String
execute
(
T
entity
)
{
MapperMetadata
.
buildColumnList
(
entity
.
getClass
());
List
<
FieldColumnMapper
>
listFields
=
MapperMetadata
.
fieldsMap
.
get
(
entity
.
getClass
().
getSimpleName
());
SQL
sql
=
new
SQL
();
sql
.
INSERT_INTO
(
MapperMetadata
.
getTableName
(
entity
.
getClass
()));
SQL
sql
=
new
SQL
()
.
INSERT_INTO
(
MapperMetadata
.
getTableName
(
entity
.
getClass
()));
for
(
int
i
=
0
;
i
<
listFields
.
size
();
i
++)
{
FieldColumnMapper
fieldColumnMapper
=
listFields
.
get
(
i
);
if
(
...
...
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderQuery.java
浏览文件 @
6be4ebc4
...
...
@@ -52,13 +52,15 @@ public class SqlProviderQuery <T extends JpaBaseEntity>{
}
FieldColumnMapper
idFieldColumnMapper
=
MapperMetadata
.
getIdColumn
(
entityClass
.
getSimpleName
());
SQL
sql
=
new
SQL
();
sql
.
SELECT
(
selectColumnMapper
(
entityClass
))
SQL
sql
=
new
SQL
()
.
SELECT
(
selectColumnMapper
(
entityClass
))
.
FROM
(
MapperMetadata
.
getTableName
(
entityClass
)+
" sel_tmp_table "
)
.
WHERE
(
idFieldColumnMapper
.
getColumnName
()
+
" = #{"
+
idFieldColumnMapper
.
getFieldName
()
+
"}"
);
String
getSql
=
sql
.
toString
();
_logger
.
trace
(
"Get SQL \n"
+
getSql
);
String
getSql
=
sql
.
toString
();
_logger
.
trace
(
"Get SQL \n"
+
getSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
GET_SQL
,
getSql
);
return
getSql
;
}
...
...
@@ -69,19 +71,21 @@ public class SqlProviderQuery <T extends JpaBaseEntity>{
if
(
MapperMetadata
.
sqlsMap
.
containsKey
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
FINDALL_SQL
))
{
return
MapperMetadata
.
sqlsMap
.
get
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
FINDALL_SQL
);
}
SQL
sql
=
new
SQL
();
sql
.
SELECT
(
selectColumnMapper
(
entityClass
))
SQL
sql
=
new
SQL
()
.
SELECT
(
selectColumnMapper
(
entityClass
))
.
FROM
(
MapperMetadata
.
getTableName
(
entityClass
)+
" sel_tmp_table "
);
String
findAllSql
=
sql
.
toString
();
_logger
.
trace
(
"Find All SQL \n"
+
findAllSql
);
String
findAllSql
=
sql
.
toString
();
_logger
.
trace
(
"Find All SQL \n"
+
findAllSql
);
MapperMetadata
.
sqlsMap
.
put
(
MapperMetadata
.
getTableName
(
entityClass
)
+
SQL_TYPE
.
FINDALL_SQL
,
findAllSql
);
return
findAllSql
;
}
public
String
execute
(
T
entity
)
{
MapperMetadata
.
buildColumnList
(
entity
.
getClass
());
SQL
sql
=
new
SQL
()
;
sql
.
SELECT
(
selectColumnMapper
(
entity
.
getClass
()))
SQL
sql
=
new
SQL
()
.
SELECT
(
selectColumnMapper
(
entity
.
getClass
()))
.
FROM
(
MapperMetadata
.
getTableName
(
entity
.
getClass
())+
" sel_tmp_table "
);
for
(
FieldColumnMapper
fieldColumnMapper
:
MapperMetadata
.
fieldsMap
.
get
(
entity
.
getClass
().
getSimpleName
()))
{
...
...
@@ -143,19 +147,19 @@ public class SqlProviderQuery <T extends JpaBaseEntity>{
.
replaceAll
(
"\n+"
,
" \n"
)
.
replaceAll
(
"\t"
,
" "
)
.
replaceAll
(
" +"
,
" "
);
BoundSql
boundSql
=
(
BoundSql
)
pageResultsSqlCache
.
getBoundSql
();
BoundSql
boundSql
=
(
BoundSql
)
pageResultsSqlCache
.
getBoundSql
();
_logger
.
trace
(
"Count original SQL :\n{}"
,
selectSql
);
StringBuffer
sql
=
new
StringBuffer
(
SqlSyntax
.
SELECT
+
" "
+
SqlSyntax
.
Functions
.
COUNT_ONE
+
" countrows_ "
);
StringBuffer
countSql
=
new
StringBuffer
();
StringBuffer
sql
=
new
StringBuffer
(
SqlSyntax
.
SELECT
+
" "
+
SqlSyntax
.
Functions
.
COUNT_ONE
+
" countrows_ "
);
StringBuffer
countSql
=
new
StringBuffer
();
if
(
boundSql
.
getParameterMappings
()
==
null
||
boundSql
.
getParameterMappings
().
isEmpty
())
{
if
(
boundSql
.
getParameterMappings
()
==
null
||
boundSql
.
getParameterMappings
().
isEmpty
())
{
countSql
.
append
(
selectSql
);
}
else
{
for
(
ParameterMapping
parameterMapping:
boundSql
.
getParameterMappings
())
{
countSql
.
append
(
selectSql
.
substring
(
0
,
selectSql
.
indexOf
(
"?"
)));
countSql
.
append
(
"#{"
+
parameterMapping
.
getProperty
()+
"}"
);
selectSql
=
selectSql
.
substring
(
selectSql
.
indexOf
(
"?"
)+
1
);
selectSql
=
selectSql
.
substring
(
selectSql
.
indexOf
(
"?"
)+
1
);
}
countSql
.
append
(
selectSql
);
}
...
...
mybatis-jpa-extra-core/src/main/java/org/apache/mybatis/jpa/persistence/provider/SqlProviderUpdate.java
浏览文件 @
6be4ebc4
...
...
@@ -43,16 +43,15 @@ public class SqlProviderUpdate <T extends JpaBaseEntity>{
*/
public
String
execute
(
T
entity
)
{
MapperMetadata
.
buildColumnList
(
entity
.
getClass
());
List
<
FieldColumnMapper
>
listFields
=
MapperMetadata
.
fieldsMap
.
get
(
entity
.
getClass
().
getSimpleName
());
SQL
sql
=
new
SQL
();
sql
.
UPDATE
(
MapperMetadata
.
getTableName
(
entity
.
getClass
()));
SQL
sql
=
new
SQL
()
.
UPDATE
(
MapperMetadata
.
getTableName
(
entity
.
getClass
()));
for
(
int
i
=
0
;
i
<
listFields
.
size
();
i
++)
{
FieldColumnMapper
fieldColumnMapper
=
listFields
.
get
(
i
);
_logger
.
trace
(
"Field {} , Type {}"
,
fieldColumnMapper
.
getFieldName
(),
fieldColumnMapper
.
getFieldType
());
FieldColumnMapper
fieldColumnMapper
=
listFields
.
get
(
i
);
_logger
.
trace
(
"Field {} , Type {}"
,
fieldColumnMapper
.
getFieldName
(),
fieldColumnMapper
.
getFieldType
());
if
(
fieldColumnMapper
.
isIdColumn
())
{
continue
;
}
...
...
@@ -65,12 +64,12 @@ public class SqlProviderUpdate <T extends JpaBaseEntity>{
//skip null field value
_logger
.
trace
(
"skip field value is null "
);
}
else
{
sql
.
SET
(
fieldColumnMapper
.
getColumnName
()
+
"
=
#{"
+
fieldColumnMapper
.
getFieldName
()
+
"}"
);
sql
.
SET
(
fieldColumnMapper
.
getColumnName
()
+
"
=
#{"
+
fieldColumnMapper
.
getFieldName
()
+
"}"
);
}
}
FieldColumnMapper
idFieldColumnMapper
=
MapperMetadata
.
getIdColumn
(
entity
.
getClass
().
getSimpleName
());
sql
.
WHERE
(
idFieldColumnMapper
.
getColumnName
()
+
"
=#{"
+
idFieldColumnMapper
.
getFieldName
()+
"}"
);
sql
.
WHERE
(
idFieldColumnMapper
.
getColumnName
()
+
"
= #{"
+
idFieldColumnMapper
.
getFieldName
()
+
"}"
);
_logger
.
trace
(
"Update SQL : \n{}"
,
sql
);
return
sql
.
toString
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录