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
b67fedf9
Commit
b67fedf9
authored
May 30, 2018
by
hewei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ExampleEnhancedPlugin:增加基于Column的操作以及对应测试用例
parent
454565f7
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
3 deletions
+17
-3
README.md
README.md
+15
-1
src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java
...tfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java
+2
-2
No files found.
README.md
View file @
b67fedf9
...
@@ -227,6 +227,7 @@ public class Test {
...
@@ -227,6 +227,7 @@ public class Test {
*
Criteria链式调用增强,以前如果有按条件增加的查询语句会打乱链式查询构建,现在有了andIf(boolean ifAdd, CriteriaAdd add)方法可一直使用链式调用下去。
*
Criteria链式调用增强,以前如果有按条件增加的查询语句会打乱链式查询构建,现在有了andIf(boolean ifAdd, CriteriaAdd add)方法可一直使用链式调用下去。
*
Example增强了setOrderByClause方法,新增orderBy(String orderByClause)方法直接返回example,增强链式调用,可以一路.下去了。
*
Example增强了setOrderByClause方法,新增orderBy(String orderByClause)方法直接返回example,增强链式调用,可以一路.下去了。
*
继续增强orderBy(String orderByClause)方法,增加orderBy(String ... orderByClauses)方法,配合数据Model属性对应Column获取插件(ModelColumnPlugin)使用效果更佳。
*
继续增强orderBy(String orderByClause)方法,增加orderBy(String ... orderByClauses)方法,配合数据Model属性对应Column获取插件(ModelColumnPlugin)使用效果更佳。
*
增加基于column的操作,当配置了
[
数据Model属性对应Column获取插件(ModelColumnPlugin)
](
#8-数据model属性对应column获取插件
)
插件时,提供column之间的比对操作。
插件:
插件:
```
xml
```
xml
<!-- Example Criteria 增强插件 -->
<!-- Example Criteria 增强插件 -->
...
@@ -300,6 +301,19 @@ public class Test {
...
@@ -300,6 +301,19 @@ public class Test {
// 这个配合数据Model属性对应Column获取插件(ModelColumnPlugin)使用
// 这个配合数据Model属性对应Column获取插件(ModelColumnPlugin)使用
.
orderBy
(
Tb
.
Column
.
field1
.
asc
(),
Tb
.
Column
.
field3
.
desc
())
.
orderBy
(
Tb
.
Column
.
field1
.
asc
(),
Tb
.
Column
.
field3
.
desc
())
);
);
// -----------------------------------column-----------------------------------
this
.
tbMapper
.
selectByExample
(
new
TbExample
()
.
createCriteria
()
.
andField1EqualToColumn
(
Tb
.
Column
.
field2
)
// where field1 = field2
.
andField1NotEqualToColumn
(
Tb
.
Column
.
field2
)
// where field1 <> field2
.
andField1GreaterThanColumn
(
Tb
.
Column
.
field2
)
// where field1 > field2
.
andField1GreaterThanOrEqualToColumn
(
Tb
.
Column
.
field2
)
// where field1 >= field2
.
andField1LessThanColumn
(
Tb
.
Column
.
field2
)
// where field1 < field2
.
andField1LessThanOrEqualToColumn
(
Tb
.
Column
.
field2
)
// where field1 <= field2
.
example
()
);
}
}
}
}
```
```
...
...
src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java
View file @
b67fedf9
...
@@ -80,10 +80,10 @@ public class ExampleEnhancedPlugin extends BasePlugin {
...
@@ -80,10 +80,10 @@ public class ExampleEnhancedPlugin extends BasePlugin {
* @param introspectedTable
* @param introspectedTable
*/
*/
private
void
addColumnMethodToCriteria
(
TopLevelClass
topLevelClass
,
InnerClass
innerClass
,
IntrospectedTable
introspectedTable
)
{
private
void
addColumnMethodToCriteria
(
TopLevelClass
topLevelClass
,
InnerClass
innerClass
,
IntrospectedTable
introspectedTable
)
{
for
(
IntrospectedColumn
introspectedColumn
:
introspectedTable
.
getNonBLOBColumns
())
{
topLevelClass
.
addImportedType
(
introspectedColumn
.
getFullyQualifiedJavaType
());
// !!!!! Column import比较特殊引入的是外部类
// !!!!! Column import比较特殊引入的是外部类
topLevelClass
.
addImportedType
(
introspectedTable
.
getRules
().
calculateAllFieldsClass
());
topLevelClass
.
addImportedType
(
introspectedTable
.
getRules
().
calculateAllFieldsClass
());
for
(
IntrospectedColumn
introspectedColumn
:
introspectedTable
.
getNonBLOBColumns
())
{
topLevelClass
.
addImportedType
(
introspectedColumn
.
getFullyQualifiedJavaType
());
// EqualTo
// EqualTo
FormatTools
.
addMethodWithBestPosition
(
innerClass
,
this
.
generateSingleValueMethod
(
introspectedTable
,
introspectedColumn
,
"EqualTo"
,
"="
));
FormatTools
.
addMethodWithBestPosition
(
innerClass
,
this
.
generateSingleValueMethod
(
introspectedTable
,
introspectedColumn
,
"EqualTo"
,
"="
));
// NotEqualTo
// NotEqualTo
...
...
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