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
8ff3ee99
Commit
8ff3ee99
authored
May 17, 2017
by
hewei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决Model生成WithBLOBs类时,ModelBuilder未按类字段对应生成正确Builder字段赋值方法的BUG
parent
2f9fb379
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
5 deletions
+32
-5
src/main/java/com/itfsw/mybatis/generator/plugins/ModelBuilderPlugin.java
...m/itfsw/mybatis/generator/plugins/ModelBuilderPlugin.java
+32
-5
No files found.
src/main/java/com/itfsw/mybatis/generator/plugins/ModelBuilderPlugin.java
View file @
8ff3ee99
...
@@ -45,8 +45,36 @@ public class ModelBuilderPlugin extends BasePlugin {
...
@@ -45,8 +45,36 @@ public class ModelBuilderPlugin extends BasePlugin {
*/
*/
@Override
@Override
public
boolean
modelBaseRecordClassGenerated
(
TopLevelClass
topLevelClass
,
IntrospectedTable
introspectedTable
)
{
public
boolean
modelBaseRecordClassGenerated
(
TopLevelClass
topLevelClass
,
IntrospectedTable
introspectedTable
)
{
List
<
Field
>
fields
=
topLevelClass
.
getFields
();
// 判断是否有生成Model的WithBLOBs类
List
<
IntrospectedColumn
>
columns
=
introspectedTable
.
getRules
().
generateRecordWithBLOBsClass
()
?
introspectedTable
.
getNonBLOBColumns
()
:
introspectedTable
.
getAllColumns
();
InnerClass
innerClass
=
this
.
generateModelBuilder
(
topLevelClass
,
introspectedTable
,
columns
);
topLevelClass
.
addInnerClass
(
innerClass
);
return
true
;
}
/**
* Model Methods 生成
* 具体执行顺序 http://www.mybatis.org/generator/reference/pluggingIn.html
* @param topLevelClass
* @param introspectedTable
* @return
*/
@Override
public
boolean
modelRecordWithBLOBsClassGenerated
(
TopLevelClass
topLevelClass
,
IntrospectedTable
introspectedTable
)
{
InnerClass
innerClass
=
this
.
generateModelBuilder
(
topLevelClass
,
introspectedTable
,
introspectedTable
.
getAllColumns
());
topLevelClass
.
addInnerClass
(
innerClass
);
return
true
;
}
/**
* 生成ModelBuilder
*
* @param topLevelClass
* @param introspectedTable
* @param columns
* @return
*/
private
InnerClass
generateModelBuilder
(
TopLevelClass
topLevelClass
,
IntrospectedTable
introspectedTable
,
List
<
IntrospectedColumn
>
columns
){
// 生成内部Builder类
// 生成内部Builder类
InnerClass
innerClass
=
new
InnerClass
(
BUILDER_CLASS_NAME
);
InnerClass
innerClass
=
new
InnerClass
(
BUILDER_CLASS_NAME
);
innerClass
.
setVisibility
(
JavaVisibility
.
PUBLIC
);
innerClass
.
setVisibility
(
JavaVisibility
.
PUBLIC
);
...
@@ -68,8 +96,7 @@ public class ModelBuilderPlugin extends BasePlugin {
...
@@ -68,8 +96,7 @@ public class ModelBuilderPlugin extends BasePlugin {
innerClass
.
addMethod
(
constructor
);
innerClass
.
addMethod
(
constructor
);
logger
.
debug
(
"itfsw(数据Model链式构建插件):"
+
topLevelClass
.
getType
().
getShortName
()
+
".Builder增加的构造方法。"
);
logger
.
debug
(
"itfsw(数据Model链式构建插件):"
+
topLevelClass
.
getType
().
getShortName
()
+
".Builder增加的构造方法。"
);
for
(
IntrospectedColumn
introspectedColumn
:
columns
)
{
for
(
IntrospectedColumn
introspectedColumn
:
introspectedTable
.
getAllColumns
())
{
Field
field
=
JavaBeansUtil
.
getJavaBeansField
(
introspectedColumn
,
context
,
introspectedTable
);
Field
field
=
JavaBeansUtil
.
getJavaBeansField
(
introspectedColumn
,
context
,
introspectedTable
);
Method
setterMethod
=
JavaBeansUtil
.
getJavaBeansSetter
(
introspectedColumn
,
context
,
introspectedTable
);
Method
setterMethod
=
JavaBeansUtil
.
getJavaBeansSetter
(
introspectedColumn
,
context
,
introspectedTable
);
...
@@ -97,9 +124,9 @@ public class ModelBuilderPlugin extends BasePlugin {
...
@@ -97,9 +124,9 @@ public class ModelBuilderPlugin extends BasePlugin {
build
.
addBodyLine
(
"return this.obj;"
);
build
.
addBodyLine
(
"return this.obj;"
);
commentGenerator
.
addGeneralMethodComment
(
build
,
introspectedTable
);
commentGenerator
.
addGeneralMethodComment
(
build
,
introspectedTable
);
innerClass
.
addMethod
(
build
);
innerClass
.
addMethod
(
build
);
logger
.
debug
(
"itfsw(数据Model链式构建插件):"
+
topLevelClass
.
getType
().
getShortName
()
+
".Builder增加build方法。"
);
logger
.
debug
(
"itfsw(数据Model链式构建插件):"
+
topLevelClass
.
getType
().
getShortName
()
+
".Builder增加build方法。"
);
topLevelClass
.
addInnerClass
(
innerClass
);
return
innerClass
;
return
true
;
}
}
}
}
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