Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mybatis-generator-plugin
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
mybatis-generator-plugin
Commits
16a02477
Commit
16a02477
authored
May 07, 2018
by
hewei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SelectSelectivePlugin插件重构
parent
baf72992
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
213 additions
and
169 deletions
+213
-169
src/main/java/com/itfsw/mybatis/generator/plugins/BatchInsertPlugin.java
...om/itfsw/mybatis/generator/plugins/BatchInsertPlugin.java
+1
-1
src/main/java/com/itfsw/mybatis/generator/plugins/SelectOneByExamplePlugin.java
...w/mybatis/generator/plugins/SelectOneByExamplePlugin.java
+13
-6
src/main/java/com/itfsw/mybatis/generator/plugins/SelectSelectivePlugin.java
...tfsw/mybatis/generator/plugins/SelectSelectivePlugin.java
+156
-147
src/main/java/com/itfsw/mybatis/generator/plugins/utils/XmlElementGeneratorTools.java
...tis/generator/plugins/utils/XmlElementGeneratorTools.java
+3
-14
src/main/java/com/itfsw/mybatis/generator/plugins/utils/hook/HookAggregator.java
.../mybatis/generator/plugins/utils/hook/HookAggregator.java
+21
-1
src/main/java/com/itfsw/mybatis/generator/plugins/utils/hook/ISelectOneByExamplePluginHook.java
...tor/plugins/utils/hook/ISelectOneByExamplePluginHook.java
+19
-0
No files found.
src/main/java/com/itfsw/mybatis/generator/plugins/BatchInsertPlugin.java
View file @
16a02477
...
@@ -129,7 +129,7 @@ public class BatchInsertPlugin extends BasePlugin {
...
@@ -129,7 +129,7 @@ public class BatchInsertPlugin extends BasePlugin {
XmlElementGeneratorTools
.
useGeneratedKeys
(
batchInsertEle
,
introspectedTable
);
XmlElementGeneratorTools
.
useGeneratedKeys
(
batchInsertEle
,
introspectedTable
);
batchInsertEle
.
addElement
(
new
TextElement
(
"insert into "
+
introspectedTable
.
getFullyQualifiedTableNameAtRuntime
()));
batchInsertEle
.
addElement
(
new
TextElement
(
"insert into "
+
introspectedTable
.
getFullyQualifiedTableNameAtRuntime
()));
for
(
Element
element
:
XmlElementGeneratorTools
.
generateKeys
(
ListUtilities
.
removeIdentityAndGeneratedAlwaysColumns
(
introspectedTable
.
getAllColumns
())))
{
for
(
Element
element
:
XmlElementGeneratorTools
.
generateKeys
(
ListUtilities
.
removeIdentityAndGeneratedAlwaysColumns
(
introspectedTable
.
getAllColumns
())
,
true
))
{
batchInsertEle
.
addElement
(
element
);
batchInsertEle
.
addElement
(
element
);
}
}
...
...
src/main/java/com/itfsw/mybatis/generator/plugins/SelectOneByExamplePlugin.java
View file @
16a02477
...
@@ -132,9 +132,13 @@ public class SelectOneByExamplePlugin extends BasePlugin {
...
@@ -132,9 +132,13 @@ public class SelectOneByExamplePlugin extends BasePlugin {
// 只查询一条
// 只查询一条
selectOneElement
.
addElement
(
new
TextElement
(
"limit 1"
));
selectOneElement
.
addElement
(
new
TextElement
(
"limit 1"
));
// 添加到根节点
FormatTools
.
addElementWithBestPosition
(
document
.
getRootElement
(),
selectOneElement
);
// hook
logger
.
debug
(
"itfsw(查询单条数据插件):"
+
introspectedTable
.
getMyBatis3XmlMapperFileName
()
+
"增加selectOneByExample方法。"
);
if
(
PluginTools
.
getHook
(
ISelectOneByExamplePluginHook
.
class
).
sqlMapSelectOneByExampleWithoutBLOBsElementGenerated
(
document
,
selectOneElement
,
introspectedTable
))
{
// 添加到根节点
FormatTools
.
addElementWithBestPosition
(
document
.
getRootElement
(),
selectOneElement
);
logger
.
debug
(
"itfsw(查询单条数据插件):"
+
introspectedTable
.
getMyBatis3XmlMapperFileName
()
+
"增加selectOneByExample方法。"
);
}
// ------------------------------------ selectOneByExampleWithBLOBs ----------------------------------
// ------------------------------------ selectOneByExampleWithBLOBs ----------------------------------
// !!! 注意这里的行为不以有没有生成Model 的 WithBLOBs类为基准
// !!! 注意这里的行为不以有没有生成Model 的 WithBLOBs类为基准
...
@@ -179,9 +183,12 @@ public class SelectOneByExamplePlugin extends BasePlugin {
...
@@ -179,9 +183,12 @@ public class SelectOneByExamplePlugin extends BasePlugin {
// 只查询一条
// 只查询一条
selectOneWithBLOBsElement
.
addElement
(
new
TextElement
(
"limit 1"
));
selectOneWithBLOBsElement
.
addElement
(
new
TextElement
(
"limit 1"
));
// 添加到根节点
// hook
FormatTools
.
addElementWithBestPosition
(
document
.
getRootElement
(),
selectOneWithBLOBsElement
);
if
(
PluginTools
.
getHook
(
ISelectOneByExamplePluginHook
.
class
).
sqlMapSelectOneByExampleWithBLOBsElementGenerated
(
document
,
selectOneWithBLOBsElement
,
introspectedTable
))
{
logger
.
debug
(
"itfsw(查询单条数据插件):"
+
introspectedTable
.
getMyBatis3XmlMapperFileName
()
+
"增加selectOneByExampleWithBLOBs方法。"
);
// 添加到根节点
FormatTools
.
addElementWithBestPosition
(
document
.
getRootElement
(),
selectOneWithBLOBsElement
);
logger
.
debug
(
"itfsw(查询单条数据插件):"
+
introspectedTable
.
getMyBatis3XmlMapperFileName
()
+
"增加selectOneByExampleWithBLOBs方法。"
);
}
}
}
...
...
src/main/java/com/itfsw/mybatis/generator/plugins/SelectSelectivePlugin.java
View file @
16a02477
This diff is collapsed.
Click to expand it.
src/main/java/com/itfsw/mybatis/generator/plugins/utils/XmlElementGeneratorTools.java
View file @
16a02477
...
@@ -134,28 +134,17 @@ public class XmlElementGeneratorTools {
...
@@ -134,28 +134,17 @@ public class XmlElementGeneratorTools {
* @return
* @return
*/
*/
public
static
List
<
Element
>
generateKeys
(
List
<
IntrospectedColumn
>
columns
)
{
public
static
List
<
Element
>
generateKeys
(
List
<
IntrospectedColumn
>
columns
)
{
return
generateKeys
(
columns
,
null
);
return
generateKeys
(
columns
,
false
);
}
}
/**
/**
* 生成keys Ele
* 生成keys Ele
* @param columns
* @param columns
* @param prefix
* @return
*/
public
static
List
<
Element
>
generateKeys
(
List
<
IntrospectedColumn
>
columns
,
String
prefix
)
{
return
generateKeys
(
columns
,
prefix
,
true
);
}
/**
* 生成keys Ele
* @param columns
* @param prefix
* @param bracket
* @param bracket
* @return
* @return
*/
*/
public
static
List
<
Element
>
generateKeys
(
List
<
IntrospectedColumn
>
columns
,
String
prefix
,
boolean
bracket
)
{
public
static
List
<
Element
>
generateKeys
(
List
<
IntrospectedColumn
>
columns
,
boolean
bracket
)
{
return
generateCommColumns
(
columns
,
prefix
,
bracket
,
1
);
return
generateCommColumns
(
columns
,
null
,
bracket
,
1
);
}
}
/**
/**
...
...
src/main/java/com/itfsw/mybatis/generator/plugins/utils/hook/HookAggregator.java
View file @
16a02477
...
@@ -25,6 +25,7 @@ import org.mybatis.generator.api.dom.java.InnerClass;
...
@@ -25,6 +25,7 @@ import org.mybatis.generator.api.dom.java.InnerClass;
import
org.mybatis.generator.api.dom.java.Interface
;
import
org.mybatis.generator.api.dom.java.Interface
;
import
org.mybatis.generator.api.dom.java.Method
;
import
org.mybatis.generator.api.dom.java.Method
;
import
org.mybatis.generator.api.dom.java.TopLevelClass
;
import
org.mybatis.generator.api.dom.java.TopLevelClass
;
import
org.mybatis.generator.api.dom.xml.Document
;
import
org.mybatis.generator.api.dom.xml.Element
;
import
org.mybatis.generator.api.dom.xml.Element
;
import
org.mybatis.generator.api.dom.xml.XmlElement
;
import
org.mybatis.generator.api.dom.xml.XmlElement
;
import
org.mybatis.generator.config.Context
;
import
org.mybatis.generator.config.Context
;
...
@@ -210,7 +211,6 @@ public class HookAggregator implements IUpsertPluginHook, IModelBuilderPluginHoo
...
@@ -210,7 +211,6 @@ public class HookAggregator implements IUpsertPluginHook, IModelBuilderPluginHoo
// ============================================= ISelectOneByExamplePluginHook ==============================================
// ============================================= ISelectOneByExamplePluginHook ==============================================
@Override
@Override
public
boolean
clientSelectOneByExampleWithBLOBsMethodGenerated
(
Method
method
,
Interface
interfaze
,
IntrospectedTable
introspectedTable
)
{
public
boolean
clientSelectOneByExampleWithBLOBsMethodGenerated
(
Method
method
,
Interface
interfaze
,
IntrospectedTable
introspectedTable
)
{
for
(
ISelectOneByExamplePluginHook
plugin
:
this
.
getPlugins
(
ISelectOneByExamplePluginHook
.
class
))
{
for
(
ISelectOneByExamplePluginHook
plugin
:
this
.
getPlugins
(
ISelectOneByExamplePluginHook
.
class
))
{
...
@@ -230,4 +230,24 @@ public class HookAggregator implements IUpsertPluginHook, IModelBuilderPluginHoo
...
@@ -230,4 +230,24 @@ public class HookAggregator implements IUpsertPluginHook, IModelBuilderPluginHoo
}
}
return
true
;
return
true
;
}
}
@Override
public
boolean
sqlMapSelectOneByExampleWithoutBLOBsElementGenerated
(
Document
document
,
XmlElement
element
,
IntrospectedTable
introspectedTable
)
{
for
(
ISelectOneByExamplePluginHook
plugin
:
this
.
getPlugins
(
ISelectOneByExamplePluginHook
.
class
))
{
if
(!
plugin
.
sqlMapSelectOneByExampleWithoutBLOBsElementGenerated
(
document
,
element
,
introspectedTable
))
{
return
false
;
}
}
return
true
;
}
@Override
public
boolean
sqlMapSelectOneByExampleWithBLOBsElementGenerated
(
Document
document
,
XmlElement
element
,
IntrospectedTable
introspectedTable
)
{
for
(
ISelectOneByExamplePluginHook
plugin
:
this
.
getPlugins
(
ISelectOneByExamplePluginHook
.
class
))
{
if
(!
plugin
.
sqlMapSelectOneByExampleWithBLOBsElementGenerated
(
document
,
element
,
introspectedTable
))
{
return
false
;
}
}
return
true
;
}
}
}
src/main/java/com/itfsw/mybatis/generator/plugins/utils/hook/ISelectOneByExamplePluginHook.java
View file @
16a02477
...
@@ -19,6 +19,8 @@ package com.itfsw.mybatis.generator.plugins.utils.hook;
...
@@ -19,6 +19,8 @@ package com.itfsw.mybatis.generator.plugins.utils.hook;
import
org.mybatis.generator.api.IntrospectedTable
;
import
org.mybatis.generator.api.IntrospectedTable
;
import
org.mybatis.generator.api.dom.java.Interface
;
import
org.mybatis.generator.api.dom.java.Interface
;
import
org.mybatis.generator.api.dom.java.Method
;
import
org.mybatis.generator.api.dom.java.Method
;
import
org.mybatis.generator.api.dom.xml.Document
;
import
org.mybatis.generator.api.dom.xml.XmlElement
;
/**
/**
* ---------------------------------------------------------------------------
* ---------------------------------------------------------------------------
...
@@ -48,4 +50,21 @@ public interface ISelectOneByExamplePluginHook {
...
@@ -48,4 +50,21 @@ public interface ISelectOneByExamplePluginHook {
*/
*/
boolean
clientSelectOneByExampleWithoutBLOBsMethodGenerated
(
Method
method
,
Interface
interfaze
,
IntrospectedTable
introspectedTable
);
boolean
clientSelectOneByExampleWithoutBLOBsMethodGenerated
(
Method
method
,
Interface
interfaze
,
IntrospectedTable
introspectedTable
);
/**
* selectOneByExample 方法sqlMap实现
* @param document
* @param element
* @param introspectedTable
* @return
*/
boolean
sqlMapSelectOneByExampleWithoutBLOBsElementGenerated
(
Document
document
,
XmlElement
element
,
IntrospectedTable
introspectedTable
);
/**
* selectOneByExampleWithBLOBs 方法sqlMap实现
* @param document
* @param element
* @param introspectedTable
* @return
*/
boolean
sqlMapSelectOneByExampleWithBLOBsElementGenerated
(
Document
document
,
XmlElement
element
,
IntrospectedTable
introspectedTable
);
}
}
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