Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-parent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
schbrain-parent
Commits
3a9a04d6
Commit
3a9a04d6
authored
Nov 10, 2023
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update code style according to ide inspections
parent
8766714f
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
126 additions
and
82 deletions
+126
-82
commons/common-util/src/main/java/com/schbrain/common/util/ConfigurationPropertiesUtils.java
...om/schbrain/common/util/ConfigurationPropertiesUtils.java
+5
-5
commons/common-util/src/main/java/com/schbrain/common/util/support/ValidationMessageBuilder.java
...chbrain/common/util/support/ValidationMessageBuilder.java
+9
-6
commons/common-util/src/main/java/com/schbrain/common/util/support/excel/listener/HierarchicalDataReadListener.java
.../support/excel/listener/HierarchicalDataReadListener.java
+9
-4
commons/module-tree/src/main/java/com/schbrain/common/module/tree/dao/TreeNodeDao.java
...java/com/schbrain/common/module/tree/dao/TreeNodeDao.java
+7
-7
commons/module-tree/src/main/java/com/schbrain/common/module/tree/event/EmptyTreeOperationAware.java
...ain/common/module/tree/event/EmptyTreeOperationAware.java
+3
-2
commons/module-tree/src/main/java/com/schbrain/common/module/tree/event/TreeOperationAware.java
...schbrain/common/module/tree/event/TreeOperationAware.java
+3
-2
commons/module-tree/src/main/java/com/schbrain/common/module/tree/event/TreeOperationEvent.java
...schbrain/common/module/tree/event/TreeOperationEvent.java
+4
-3
commons/web-common/src/main/java/com/schbrain/common/web/exception/DefaultGlobalExceptionResolver.java
.../common/web/exception/DefaultGlobalExceptionResolver.java
+17
-8
starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboConfigInitEventListener.java
...onfigure/dubbo/listener/DubboConfigInitEventListener.java
+4
-0
starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/configuration/MybatisPlusGlobalConfigCustomizer.java
...atis/configuration/MybatisPlusGlobalConfigCustomizer.java
+8
-5
starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/datasource/extractor/DataSourcePropertiesExtractor.java
...s/datasource/extractor/DataSourcePropertiesExtractor.java
+1
-1
starters/oss-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/oss/util/OssUtils.java
...m/schbrain/framework/autoconfigure/oss/util/OssUtils.java
+10
-6
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/BaseDao.java
...dao/src/main/java/com/schbrain/framework/dao/BaseDao.java
+18
-18
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/CustomizeMapperFactoryBean.java
...ain/framework/dao/mybatis/CustomizeMapperFactoryBean.java
+7
-3
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/BaseMapper.java
...com/schbrain/framework/dao/mybatis/mapper/BaseMapper.java
+10
-5
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/sqlsource/AbstractSqlSource.java
...ework/dao/mybatis/mapper/sqlsource/AbstractSqlSource.java
+7
-3
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/sqlsource/UpdateByCompleteSqlSource.java
...o/mybatis/mapper/sqlsource/UpdateByCompleteSqlSource.java
+2
-2
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/sqlsource/UpdateByConditionSqlSource.java
.../mybatis/mapper/sqlsource/UpdateByConditionSqlSource.java
+2
-2
No files found.
commons/common-util/src/main/java/com/schbrain/common/util/ConfigurationPropertiesUtils.java
View file @
3a9a04d6
...
...
@@ -46,13 +46,13 @@ public class ConfigurationPropertiesUtils {
public
static
String
getPrefix
(
Class
<?>
sourceClass
)
{
ConfigurationProperties
annotation
=
sourceClass
.
getAnnotation
(
ConfigurationProperties
.
class
);
if
(
annotation
==
null
)
{
String
className
=
ConfigurationProperties
.
class
.
getName
();
String
errorDetail
=
sourceClass
.
getSimpleName
()
+
" must annotated @"
+
className
+
" or overwrite getPropertiesPrefix method"
;
throw
new
IllegalStateException
(
errorDetail
);
}
ValidateUtils
.
notNull
(
annotation
,
getErrorDetail
(
sourceClass
));
MergedAnnotation
<
ConfigurationProperties
>
mergedAnnotation
=
MergedAnnotation
.
from
(
annotation
);
return
mergedAnnotation
.
getString
(
MergedAnnotation
.
VALUE
);
}
private
static
String
getErrorDetail
(
Class
<?>
sourceClass
)
{
return
sourceClass
.
getSimpleName
()
+
" must annotated @"
+
ConfigurationProperties
.
class
.
getName
()
+
" or overwrite getPropertiesPrefix method"
;
}
}
commons/common-util/src/main/java/com/schbrain/common/util/support/ValidationMessageBuilder.java
View file @
3a9a04d6
...
...
@@ -17,12 +17,7 @@ public class ValidationMessageBuilder {
StringJoiner
joiner
=
new
StringJoiner
(
", "
);
for
(
ObjectError
error
:
bindingResult
.
getAllErrors
())
{
String
errorMessage
=
Optional
.
ofNullable
(
error
.
getDefaultMessage
()).
orElse
(
"验证失败"
);
String
source
;
if
(
error
instanceof
FieldError
)
{
source
=
((
FieldError
)
error
).
getField
();
}
else
{
source
=
error
.
getObjectName
();
}
String
source
=
getSourceName
(
error
);
joiner
.
add
(
source
+
" "
+
errorMessage
);
}
return
joiner
.
toString
();
...
...
@@ -37,6 +32,14 @@ public class ValidationMessageBuilder {
return
joiner
.
toString
();
}
private
static
String
getSourceName
(
ObjectError
error
)
{
if
(
error
instanceof
FieldError
)
{
return
((
FieldError
)
error
).
getField
();
}
else
{
return
error
.
getObjectName
();
}
}
private
static
String
getActualProperty
(
String
propertyPath
)
{
if
(
StringUtils
.
isBlank
(
propertyPath
))
{
return
propertyPath
;
...
...
commons/common-util/src/main/java/com/schbrain/common/util/support/excel/listener/HierarchicalDataReadListener.java
View file @
3a9a04d6
...
...
@@ -52,9 +52,8 @@ public class HierarchicalDataReadListener extends ExcelReadListenerBase<Map<Inte
return
true
;
}
protected
void
buildImportedRow
(
Integer
rowIndex
,
Integer
columnIndex
,
String
text
)
{
ImportedRecord
importedRecord
=
new
ImportedRecord
();
importedRecord
.
setText
(
text
);
protected
void
buildImportedRow
(
Integer
rowIndex
,
Integer
columnIndex
,
String
content
)
{
ImportedRecord
importedRecord
=
createImportedRecord
(
content
);
coordinateTable
.
put
(
rowIndex
,
columnIndex
,
importedRecord
);
if
(
columnIndex
==
0
)
{
importedRecords
.
add
(
importedRecord
);
...
...
@@ -74,10 +73,16 @@ public class HierarchicalDataReadListener extends ExcelReadListenerBase<Map<Inte
}
}
private
ImportedRecord
createImportedRecord
(
String
text
)
{
ImportedRecord
importedRecord
=
new
ImportedRecord
();
importedRecord
.
setContent
(
text
);
return
importedRecord
;
}
@Data
public
static
class
ImportedRecord
{
private
String
tex
t
;
private
String
conten
t
;
private
List
<
ImportedRecord
>
children
=
new
LinkedList
<>();
...
...
commons/module-tree/src/main/java/com/schbrain/common/module/tree/dao/TreeNodeDao.java
View file @
3a9a04d6
...
...
@@ -101,7 +101,7 @@ public class TreeNodeDao<NODE extends TreeNode> {
newNode
.
setDepth
(
parent
.
getDepth
()
+
1
);
newNode
.
setParentId
(
parent
.
getId
());
// 增加父节点右边所有节点的left和right,留出空位
increaseNodesLeftAndRight
(
newNode
.
getRelateId
(),
parent
.
getLft
(),
parent
.
getLft
()
,
false
,
2
);
increaseNodesLeftAndRight
(
newNode
.
getRelateId
(),
parent
.
getLft
(),
parent
.
getLft
());
// 添加节点
return
baseDao
.
add
(
newNode
);
}
...
...
@@ -111,7 +111,7 @@ public class TreeNodeDao<NODE extends TreeNode> {
newNode
.
setDepth
(
preBroNode
.
getDepth
());
newNode
.
setParentId
(
preBroNode
.
getParentId
());
// 增加兄弟节点右边所有节点的left和right,留出空位
increaseNodesLeftAndRight
(
preBroNode
.
getRelateId
(),
preBroNode
.
getRgt
(),
preBroNode
.
getRgt
()
,
false
,
2
);
increaseNodesLeftAndRight
(
preBroNode
.
getRelateId
(),
preBroNode
.
getRgt
(),
preBroNode
.
getRgt
());
// 添加节点
return
baseDao
.
add
(
newNode
);
}
...
...
@@ -330,20 +330,20 @@ public class TreeNodeDao<NODE extends TreeNode> {
* 如果是父节点的left和right,则includeRight为true,因为父节点的right值也需要更新;
* 如果是兄弟节点的left和right,则include为false,因为系统节点的right值不需要更新。
*/
private
int
increaseNodesLeftAndRight
(
Long
relateId
,
Integer
left
,
Integer
right
,
boolean
includeRight
,
Integer
incremen
t
)
{
private
void
increaseNodesLeftAndRight
(
Long
relateId
,
Integer
left
,
Integer
righ
t
)
{
StringBuilder
sql
=
new
StringBuilder
();
sql
.
append
(
"UPDATE "
)
.
append
(
baseDao
.
getTableName
())
.
append
(
" SET lft = lft + "
).
append
(
increment
)
.
append
(
" SET lft = lft + "
).
append
(
2
)
.
append
(
" WHERE relate_id = #{relateId} AND lft > #{lft} AND validate = #{validate}"
);
baseDao
.
updateByCompleteSql
(
sql
.
toString
(),
relateId
,
left
,
ValidateEnum
.
VALID
.
getValue
());
sql
.
delete
(
0
,
sql
.
length
());
sql
.
append
(
"UPDATE "
).
append
(
baseDao
.
getTableName
())
.
append
(
" SET rgt = rgt + "
).
append
(
increment
)
.
append
(
" SET rgt = rgt + "
).
append
(
2
)
.
append
(
" WHERE relate_id = #{relateId} AND rgt "
)
.
append
(
includeRight
?
">="
:
">"
)
.
append
(
">"
)
.
append
(
" #{rgt} AND validate = #{validate}"
);
return
baseDao
.
updateByCompleteSql
(
sql
.
toString
(),
relateId
,
right
,
ValidateEnum
.
VALID
.
getValue
());
baseDao
.
updateByCompleteSql
(
sql
.
toString
(),
relateId
,
right
,
ValidateEnum
.
VALID
.
getValue
());
}
private
int
decreaseNodesLeftAndRight
(
Long
relateId
,
Integer
left
,
Integer
right
,
Integer
decrement
)
{
...
...
commons/module-tree/src/main/java/com/schbrain/common/module/tree/event/EmptyTreeOperationAware.java
View file @
3a9a04d6
...
...
@@ -5,7 +5,8 @@ import com.schbrain.common.module.tree.TreeNode;
import
java.util.List
;
/**
* Created by hzchengyi on 2019/1/21.
* @author hzchengyi
* @since 2019/1/21
*/
public
class
EmptyTreeOperationAware
<
NODE
extends
TreeNode
>
implements
TreeOperationAware
<
NODE
>
{
...
...
@@ -19,4 +20,4 @@ public class EmptyTreeOperationAware<NODE extends TreeNode> implements TreeOpera
}
}
\ No newline at end of file
}
commons/module-tree/src/main/java/com/schbrain/common/module/tree/event/TreeOperationAware.java
View file @
3a9a04d6
...
...
@@ -5,7 +5,8 @@ import com.schbrain.common.module.tree.TreeNode;
import
java.util.List
;
/**
* Created by hzchengyi on 2019/1/21.
* @author hzchengyi
* @since 2019/1/21
*/
public
interface
TreeOperationAware
<
NODE
extends
TreeNode
>
{
...
...
@@ -19,4 +20,4 @@ public interface TreeOperationAware<NODE extends TreeNode> {
*/
void
after
(
TreeOperationEvent
event
,
List
<
NODE
>
nodes
);
}
\ No newline at end of file
}
commons/module-tree/src/main/java/com/schbrain/common/module/tree/event/TreeOperationEvent.java
View file @
3a9a04d6
package
com.schbrain.common.module.tree.event
;
/**
* Created by hzchengyi on 2019/1/21.
* @author hzchengyi
* @since 2019/1/21
*/
public
enum
TreeOperationEvent
{
ADD
,
DELETE
,
MOVE
;
}
\ No newline at end of file
MOVE
}
commons/web-common/src/main/java/com/schbrain/common/web/exception/DefaultGlobalExceptionResolver.java
View file @
3a9a04d6
...
...
@@ -88,10 +88,7 @@ public class DefaultGlobalExceptionResolver extends AbstractHandlerMethodExcepti
if
(
targetMethod
==
null
)
{
return
null
;
}
ServletInvocableHandlerMethod
exceptionHandlerMethod
=
new
ServletInvocableHandlerMethod
(
handler
,
targetMethod
);
exceptionHandlerMethod
.
setHandlerMethodArgumentResolvers
(
argumentResolverComposite
);
exceptionHandlerMethod
.
setHandlerMethodReturnValueHandlers
(
returnValueHandlerComposite
);
return
exceptionHandlerMethod
;
return
createInvocableHandlerMethod
(
handler
,
targetMethod
);
}
@Nullable
...
...
@@ -112,11 +109,26 @@ public class DefaultGlobalExceptionResolver extends AbstractHandlerMethodExcepti
// nothing to do
}
private
ServletInvocableHandlerMethod
createInvocableHandlerMethod
(
Object
handler
,
Method
targetMethod
)
{
ServletInvocableHandlerMethod
exceptionHandlerMethod
=
new
ServletInvocableHandlerMethod
(
handler
,
targetMethod
);
exceptionHandlerMethod
.
setHandlerMethodArgumentResolvers
(
argumentResolverComposite
);
exceptionHandlerMethod
.
setHandlerMethodReturnValueHandlers
(
returnValueHandlerComposite
);
return
exceptionHandlerMethod
;
}
private
ExceptionHandlerMethodResolver
getHandlerMethodResolver
(
Class
<?>
handlerType
)
{
return
exceptionHandlerMethodResolvers
.
computeIfAbsent
(
handlerType
,
key
->
new
ExceptionHandlerMethodResolver
(
handlerType
));
}
private
Object
[]
getArguments
(
Exception
exception
,
HandlerMethod
handlerMethod
)
{
List
<
Throwable
>
exceptions
=
getExceptions
(
exception
);
Object
[]
arguments
=
new
Object
[
exceptions
.
size
()
+
1
];
exceptions
.
toArray
(
arguments
);
arguments
[
arguments
.
length
-
1
]
=
handlerMethod
;
return
arguments
;
}
private
List
<
Throwable
>
getExceptions
(
Exception
exception
)
{
List
<
Throwable
>
exceptions
=
new
ArrayList
<>();
Throwable
exToExpose
=
exception
;
while
(
exToExpose
!=
null
)
{
...
...
@@ -124,10 +136,7 @@ public class DefaultGlobalExceptionResolver extends AbstractHandlerMethodExcepti
Throwable
cause
=
exToExpose
.
getCause
();
exToExpose
=
(
cause
!=
exToExpose
?
cause
:
null
);
}
Object
[]
arguments
=
new
Object
[
exceptions
.
size
()
+
1
];
exceptions
.
toArray
(
arguments
);
arguments
[
arguments
.
length
-
1
]
=
handlerMethod
;
return
arguments
;
return
exceptions
;
}
}
starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboConfigInitEventListener.java
View file @
3a9a04d6
...
...
@@ -44,6 +44,10 @@ class DubboConfigInitEventListener extends OnceApplicationContextEventListener<D
private
ConfigCenterConfig
buildConfigCenterConfig
()
{
Map
<
String
,
String
>
externalConfiguration
=
filterDubboProperties
(
environment
);
return
buildConfigCenterConfig
(
externalConfiguration
);
}
private
ConfigCenterConfig
buildConfigCenterConfig
(
Map
<
String
,
String
>
externalConfiguration
)
{
ConfigCenterConfig
configCenterConfig
=
new
ConfigCenterConfig
();
configCenterConfig
.
setAppExternalConfig
(
externalConfiguration
);
return
configCenterConfig
;
...
...
starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/configuration/MybatisPlusGlobalConfigCustomizer.java
View file @
3a9a04d6
...
...
@@ -30,14 +30,17 @@ public class MybatisPlusGlobalConfigCustomizer implements MybatisPlusPropertiesC
@Override
public
void
customize
(
MybatisPlusProperties
properties
)
{
GlobalConfig
globalConfig
=
properties
.
getGlobalConfig
();
globalConfig
.
setBanner
(
false
);
DbConfig
dbConfig
=
globalConfig
.
getDbConfig
();
DbConfig
dbConfig
=
buildDbConfig
(
properties
);
dbConfig
.
setIdType
(
IdType
.
AUTO
);
dbConfig
.
setInsertStrategy
(
FieldStrategy
.
NOT_NULL
);
dbConfig
.
setUpdateStrategy
(
FieldStrategy
.
NOT_NULL
);
dbConfig
.
setWhereStrategy
(
FieldStrategy
.
NOT_NULL
);
}
}
\ No newline at end of file
private
DbConfig
buildDbConfig
(
MybatisPlusProperties
properties
)
{
GlobalConfig
globalConfig
=
properties
.
getGlobalConfig
();
globalConfig
.
setBanner
(
false
);
return
globalConfig
.
getDbConfig
();
}
}
starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/datasource/extractor/DataSourcePropertiesExtractor.java
View file @
3a9a04d6
...
...
@@ -11,7 +11,7 @@ import java.util.Properties;
*/
public
interface
DataSourcePropertiesExtractor
{
boolean
support
(
DataSource
dataSource
)
throws
SQLException
;
boolean
support
(
DataSource
dataSource
);
Properties
extract
(
DataSource
dataSource
,
Map
<
String
,
String
>
properties
)
throws
SQLException
;
...
...
starters/oss-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/oss/util/OssUtils.java
View file @
3a9a04d6
...
...
@@ -171,14 +171,9 @@ public class OssUtils {
}
public
static
UploadCredentials
generateUploadToken
()
{
AssumeRoleRequest
request
=
new
AssumeRoleRequest
();
request
.
setSysMethod
(
MethodType
.
POST
);
request
.
setRoleArn
(
stsProperties
.
getRoleArn
());
request
.
setRoleSessionName
(
stsProperties
.
getRoleSessionName
());
request
.
setDurationSeconds
(
stsProperties
.
getDurationSeconds
());
AssumeRoleResponse
response
;
try
{
response
=
getStsAcsClient
().
getAcsResponse
(
request
);
response
=
getStsAcsClient
().
getAcsResponse
(
createAssumeRoleRequest
()
);
}
catch
(
com
.
aliyuncs
.
exceptions
.
ClientException
e
)
{
return
new
UploadCredentials
(
e
.
getErrMsg
());
}
...
...
@@ -283,6 +278,15 @@ public class OssUtils {
return
getOssClient
().
doesObjectExist
(
bucket
,
key
);
}
private
static
AssumeRoleRequest
createAssumeRoleRequest
()
{
AssumeRoleRequest
request
=
new
AssumeRoleRequest
();
request
.
setSysMethod
(
MethodType
.
POST
);
request
.
setRoleArn
(
stsProperties
.
getRoleArn
());
request
.
setRoleSessionName
(
stsProperties
.
getRoleSessionName
());
request
.
setDurationSeconds
(
stsProperties
.
getDurationSeconds
());
return
request
;
}
private
static
DownloadResult
download0
(
String
bucket
,
String
objectKey
)
{
GetObjectRequest
request
=
new
GetObjectRequest
(
bucket
,
objectKey
);
try
{
...
...
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/BaseDao.java
View file @
3a9a04d6
...
...
@@ -17,35 +17,35 @@ public interface BaseDao<T> {
* 插入单个领域对象
* <p><strong>注意:</strong>插入时只会指定非<tt>null</tt>的领域对象属性对应的列</p>
*
* @param
obj
待插入领域对象
* @param
entity
待插入领域对象
* @return 插入是否成功
*/
Boolean
add
(
T
obj
);
Boolean
add
(
T
entity
);
/**
* 批量插入领域对象
*
* @param
obj
List 待插入领域对象列表
* @param
entity
List 待插入领域对象列表
* @param fields 插入时指定的领域对象属性列表,如果为空表示对象的所有属性
* @return 影响行数
*/
Integer
addList
(
List
<
T
>
obj
List
,
String
...
fields
);
Integer
addList
(
List
<
T
>
entity
List
,
String
...
fields
);
T
getById
(
long
id
);
T
getOneByObject
(
T
obj
);
T
getOneByObject
(
T
entity
);
T
getOneByCondition
(
String
whereClause
,
Object
...
objs
);
T
getOneByCondition
(
String
whereClause
,
Object
...
entityList
);
List
<
T
>
listByIdList
(
List
<
Long
>
idList
);
List
<
T
>
listByCondition
(
String
whereClause
,
Object
...
objs
);
List
<
T
>
listByCondition
(
String
whereClause
,
Object
...
entityList
);
List
<
T
>
listByObject
(
T
obj
);
List
<
T
>
listByObject
(
T
entity
);
Integer
getCountByCondition
(
String
whereClause
,
Object
...
objs
);
Integer
getCountByCondition
(
String
whereClause
,
Object
...
entityList
);
Page
<
T
>
pageByCondition
(
int
pageNum
,
int
pageSize
,
String
whereClause
,
Object
...
objs
);
Page
<
T
>
pageByCondition
(
int
pageNum
,
int
pageSize
,
String
whereClause
,
Object
...
entityList
);
/**
* 分页获取列表
...
...
@@ -54,23 +54,23 @@ public interface BaseDao<T> {
* @param pageSize 当前页记录数
* @param whereClause <tt>where</tt>关键词后的条件语句
* @param orderByClause <tt>order by</tt>关键词后的排序语句,注意:语句中不支持参数
* @param
objs
<tt>where</tt>关键词后的条件语句中参数对应的值
* @param
entityList
<tt>where</tt>关键词后的条件语句中参数对应的值
* @return <tt>page</tt>对象,包含记录及分页信息
*/
Page
<
T
>
pageByCondition
(
int
pageNum
,
int
pageSize
,
String
whereClause
,
String
orderByClause
,
Object
...
objs
);
Page
<
T
>
pageByCondition
(
int
pageNum
,
int
pageSize
,
String
whereClause
,
String
orderByClause
,
Object
...
entityList
);
Boolean
deleteById
(
long
id
);
Integer
deleteByIdList
(
List
<
Long
>
idList
);
Integer
deleteByCondition
(
String
whereClause
,
Object
...
objs
);
Integer
deleteByCondition
(
String
whereClause
,
Object
...
entityList
);
Boolean
updateById
(
T
obj
);
Boolean
updateById
(
T
entity
);
Boolean
updateByIdWithNull
(
T
obj
);
Boolean
updateByIdWithNull
(
T
entity
);
Integer
updateByCondition
(
T
obj
,
String
whereClause
,
Object
...
objs
);
Integer
updateByCondition
(
T
entity
,
String
whereClause
,
Object
...
entityList
);
Integer
updateByCompleteSql
(
String
completeSql
,
Object
...
objs
);
Integer
updateByCompleteSql
(
String
completeSql
,
Object
...
entityList
);
}
\ No newline at end of file
}
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/CustomizeMapperFactoryBean.java
View file @
3a9a04d6
...
...
@@ -35,13 +35,17 @@ public class CustomizeMapperFactoryBean<T> extends MapperFactoryBean<T> {
List
<
Interceptor
>
interceptorList
=
configuration
.
getInterceptors
();
boolean
hasPageInterceptor
=
interceptorList
.
stream
().
anyMatch
(
PageInterceptor
.
class
::
isInstance
);
if
(!
hasPageInterceptor
)
{
PageInterceptor
pageInterceptor
=
new
PageInterceptor
();
pageInterceptor
.
setProperties
(
new
Properties
());
configuration
.
addInterceptor
(
pageInterceptor
);
configuration
.
addInterceptor
(
createPageInterceptor
());
}
// 创建代理
BaseDaoInvocationHandler
<
T
>
handler
=
new
BaseDaoInvocationHandler
<>(
originMapperProxy
,
sqlSession
,
mapperInterface
);
return
ProxyUtil
.
newProxyInstance
(
mapperInterface
.
getClassLoader
(),
handler
,
mapperInterface
);
}
private
PageInterceptor
createPageInterceptor
()
{
PageInterceptor
pageInterceptor
=
new
PageInterceptor
();
pageInterceptor
.
setProperties
(
new
Properties
());
return
pageInterceptor
;
}
}
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/BaseMapper.java
View file @
3a9a04d6
...
...
@@ -87,10 +87,7 @@ public class BaseMapper {
}
private
void
parseMapperClass
()
{
MapperConfig
mapperConfig
=
mapperInterface
.
getAnnotation
(
MapperConfig
.
class
);
if
(
null
==
mapperConfig
)
{
throw
new
MapperParseException
(
String
.
format
(
"Can not find MapperConfig annotation in mapper class %s "
,
mapperInterface
.
getName
()));
}
MapperConfig
mapperConfig
=
getMapperConfig
();
tableName
=
mapperConfig
.
tableName
();
if
(
StringUtils
.
isBlank
(
tableName
))
{
throw
new
MapperParseException
(
String
.
format
(
"Table name is blank in MapperConfig annotation in mapper class %s "
,
mapperInterface
.
getName
()));
...
...
@@ -105,6 +102,14 @@ public class BaseMapper {
}
}
private
MapperConfig
getMapperConfig
()
{
MapperConfig
mapperConfig
=
mapperInterface
.
getAnnotation
(
MapperConfig
.
class
);
if
(
null
==
mapperConfig
)
{
throw
new
MapperParseException
(
String
.
format
(
"Can not find MapperConfig annotation in mapper class %s "
,
mapperInterface
.
getName
()));
}
return
mapperConfig
;
}
private
Object
getById
(
Object
[]
args
)
{
if
(
null
==
args
[
0
])
{
throw
new
IllegalArgumentException
(
"Parameter id can not be null"
);
...
...
@@ -157,4 +162,4 @@ public class BaseMapper {
return
sqlSession
.
update
(
bms
.
getUpdateByIdWithNullMSId
(),
updateObj
)
>
0
;
}
}
\ No newline at end of file
}
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/sqlsource/AbstractSqlSource.java
View file @
3a9a04d6
...
...
@@ -34,8 +34,7 @@ public abstract class AbstractSqlSource implements SqlSource {
if
(
StringUtils
.
isBlank
(
sql
))
{
return
"1=1"
;
}
Object
[]
params
=
((
Object
[])
args
[
1
]);
int
paramCount
=
null
==
params
?
0
:
params
.
length
;
int
paramCount
=
getParamCount
(
args
);
Matcher
matcher
=
pattern
.
matcher
(
sql
);
int
i
=
0
;
StringBuilder
result
=
new
StringBuilder
();
...
...
@@ -78,4 +77,9 @@ public abstract class AbstractSqlSource implements SqlSource {
return
PropertyParser
.
parse
(
sql
,
configuration
.
getVariables
());
}
}
\ No newline at end of file
private
int
getParamCount
(
Object
[]
args
)
{
Object
[]
params
=
((
Object
[])
args
[
1
]);
return
null
==
params
?
0
:
params
.
length
;
}
}
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/sqlsource/UpdateByCompleteSqlSource.java
View file @
3a9a04d6
...
...
@@ -20,7 +20,7 @@ public class UpdateByCompleteSqlSource extends AbstractSqlSource {
@Override
public
BoundSql
getBoundSql
(
Object
parameterObject
)
{
Object
[]
args
=
(
Object
[])
((
Map
)
parameterObject
).
get
(
"array"
);
Object
[]
args
=
(
Object
[])
((
Map
<?,
?>
)
parameterObject
).
get
(
"array"
);
SqlSourceBuilder
sqlSourceParser
=
new
SqlSourceBuilder
(
configuration
);
String
sql
=
replacePlaceholder
(
getGenericParamSqlAndCheckParamCount
(
args
));
Map
<
String
,
Object
>
paramMap
=
getSqlCommandParam
((
Object
[])
args
[
1
]);
...
...
@@ -30,4 +30,4 @@ public class UpdateByCompleteSqlSource extends AbstractSqlSource {
return
boundSql
;
}
}
\ No newline at end of file
}
support/schbrain-base-dao/src/main/java/com/schbrain/framework/dao/mybatis/mapper/sqlsource/UpdateByConditionSqlSource.java
View file @
3a9a04d6
...
...
@@ -31,7 +31,7 @@ public class UpdateByConditionSqlSource extends AbstractSqlSource {
@Override
protected
BoundSql
getBoundSql
(
String
scriptSql
,
Object
parameterObject
)
{
Object
[]
args
=
(
Object
[])
((
Map
)
parameterObject
).
get
(
"array"
);
Object
[]
args
=
(
Object
[])
((
Map
<?,
?>
)
parameterObject
).
get
(
"array"
);
Object
[]
conditionArgs
=
new
Object
[]{
args
[
1
],
args
[
2
]};
Map
<
String
,
Object
>
paramMap
=
getSqlCommandParam
((
Object
[])
args
[
2
]);
paramMap
.
put
(
"obj"
,
args
[
0
]);
...
...
@@ -43,4 +43,4 @@ public class UpdateByConditionSqlSource extends AbstractSqlSource {
return
boundSql
;
}
}
\ No newline at end of file
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment