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
c4b27695
Commit
c4b27695
authored
Jun 08, 2017
by
hewei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化注释生成工具实现逻辑,实现用户定制输出不影响
parent
4aef3233
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
67 additions
and
28 deletions
+67
-28
src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java
...tfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java
+2
-1
src/main/java/com/itfsw/mybatis/generator/plugins/utils/BasePlugin.java
...com/itfsw/mybatis/generator/plugins/utils/BasePlugin.java
+24
-2
src/main/java/com/itfsw/mybatis/generator/plugins/utils/enhanced/DefaultCommentGenerator.java
...rator/plugins/utils/enhanced/DefaultCommentGenerator.java
+23
-25
src/main/java/com/itfsw/mybatis/generator/plugins/utils/enhanced/InnerInterfaceWrapperToInnerClass.java
...ins/utils/enhanced/InnerInterfaceWrapperToInnerClass.java
+18
-0
No files found.
src/main/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPlugin.java
View file @
c4b27695
...
...
@@ -106,7 +106,6 @@ public class ExampleEnhancedPlugin extends BasePlugin {
// 添加接口CriteriaAdd
InnerInterface
criteriaAddInterface
=
new
InnerInterface
(
"ICriteriaAdd"
);
criteriaAddInterface
.
setVisibility
(
JavaVisibility
.
PUBLIC
);
commentGenerator
.
addInterfaceComment
(
criteriaAddInterface
,
introspectedTable
);
logger
.
debug
(
"itfsw(Example增强插件):"
+
topLevelClass
.
getType
().
getShortName
()
+
"."
+
innerClass
.
getType
().
getShortName
()
+
"增加接口ICriteriaAdd"
);
// ICriteriaAdd增加接口add
...
...
@@ -121,6 +120,8 @@ public class ExampleEnhancedPlugin extends BasePlugin {
logger
.
debug
(
"itfsw(Example增强插件):"
+
topLevelClass
.
getType
().
getShortName
()
+
"."
+
innerClass
.
getType
().
getShortName
()
+
"."
+
criteriaAddInterface
.
getType
().
getShortName
()
+
"增加方法add"
);
InnerClass
innerClassWrapper
=
new
InnerInterfaceWrapperToInnerClass
(
criteriaAddInterface
);
// 添加注释
commentGenerator
.
addClassComment
(
innerClassWrapper
,
introspectedTable
);
innerClass
.
addInnerClass
(
innerClassWrapper
);
// 添加andIf方法
...
...
src/main/java/com/itfsw/mybatis/generator/plugins/utils/BasePlugin.java
View file @
c4b27695
...
...
@@ -16,8 +16,10 @@
package
com
.
itfsw
.
mybatis
.
generator
.
plugins
.
utils
;
import
com.itfsw.mybatis.generator.plugins.utils.enhanced.IWCommentGenerator
;
import
com.itfsw.mybatis.generator.plugins.utils.enhanced.DefaultCommentGenerator
;
import
org.mybatis.generator.api.CommentGenerator
;
import
org.mybatis.generator.api.PluginAdapter
;
import
org.mybatis.generator.config.Context
;
import
org.mybatis.generator.internal.util.StringUtility
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -34,7 +36,27 @@ import java.util.List;
*/
public
class
BasePlugin
extends
PluginAdapter
{
protected
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
BasePlugin
.
class
);
// 日志
protected
IWCommentGenerator
commentGenerator
=
new
IWCommentGenerator
();
// 注释工具
protected
CommentGenerator
commentGenerator
;
// 注释工具
/**
* Set the context under which this plugin is running.
*
* @param context
* the new context
*/
@Override
public
void
setContext
(
Context
context
)
{
super
.
setContext
(
context
);
// 配置插件使用的模板引擎
if
(
context
.
getCommentGenerator
()
instanceof
org
.
mybatis
.
generator
.
internal
.
DefaultCommentGenerator
){
// 使用默认模板引擎
commentGenerator
=
new
DefaultCommentGenerator
();
}
else
{
// 用户自定义
commentGenerator
=
context
.
getCommentGenerator
();
}
}
/**
* {@inheritDoc}
...
...
src/main/java/com/itfsw/mybatis/generator/plugins/utils/enhanced/
IW
CommentGenerator.java
→
src/main/java/com/itfsw/mybatis/generator/plugins/utils/enhanced/
Default
CommentGenerator.java
View file @
c4b27695
...
...
@@ -35,7 +35,7 @@ import java.util.Properties;
* @time:2017/4/28 15:11
* ---------------------------------------------------------------------------
*/
public
class
IW
CommentGenerator
implements
CommentGenerator
{
public
class
Default
CommentGenerator
implements
CommentGenerator
{
/* (non-Javadoc)
* @see org.mybatis.generator.api.CommentGenerator#addJavaFileComment(org.mybatis.generator.api.dom.java.CompilationUnit)
*/
...
...
@@ -97,6 +97,23 @@ public class IWCommentGenerator implements CommentGenerator {
* @see org.mybatis.generator.api.CommentGenerator#addClassComment(org.mybatis.generator.api.dom.java.InnerClass, org.mybatis.generator.api.IntrospectedTable)
*/
public
void
addClassComment
(
InnerClass
innerClass
,
IntrospectedTable
introspectedTable
)
{
if
(
innerClass
instanceof
InnerInterfaceWrapperToInnerClass
){
InnerInterfaceWrapperToInnerClass
innerInterfaceWrapperToInnerClass
=
(
InnerInterfaceWrapperToInnerClass
)
innerClass
;
InnerInterface
innerInterface
=
innerInterfaceWrapperToInnerClass
.
getInnerInterface
();
StringBuilder
sb
=
new
StringBuilder
();
innerInterface
.
addJavaDocLine
(
"/**"
);
innerInterface
.
addJavaDocLine
(
" * This interface was generated by MyBatis Generator."
);
sb
.
append
(
" * This interface corresponds to the database table "
);
sb
.
append
(
introspectedTable
.
getFullyQualifiedTable
());
innerInterface
.
addJavaDocLine
(
sb
.
toString
());
addJavadocTag
(
innerInterface
,
false
);
innerInterface
.
addJavaDocLine
(
" */"
);
}
else
{
StringBuilder
sb
=
new
StringBuilder
();
innerClass
.
addJavaDocLine
(
"/**"
);
...
...
@@ -111,25 +128,6 @@ public class IWCommentGenerator implements CommentGenerator {
innerClass
.
addJavaDocLine
(
" */"
);
}
/**
* inner inter face 注释
*
* @param innerInterface
* @param introspectedTable
*/
public
void
addInterfaceComment
(
Interface
innerInterface
,
IntrospectedTable
introspectedTable
)
{
StringBuilder
sb
=
new
StringBuilder
();
innerInterface
.
addJavaDocLine
(
"/**"
);
innerInterface
.
addJavaDocLine
(
" * This interface was generated by MyBatis Generator."
);
sb
.
append
(
" * This interface corresponds to the database table "
);
sb
.
append
(
introspectedTable
.
getFullyQualifiedTable
());
innerInterface
.
addJavaDocLine
(
sb
.
toString
());
addJavadocTag
(
innerInterface
,
false
);
innerInterface
.
addJavaDocLine
(
" */"
);
}
/* (non-Javadoc)
...
...
src/main/java/com/itfsw/mybatis/generator/plugins/utils/enhanced/InnerInterfaceWrapperToInnerClass.java
View file @
c4b27695
...
...
@@ -56,4 +56,22 @@ public class InnerInterfaceWrapperToInnerClass extends InnerClass{
public
String
getFormattedContent
(
int
indentLevel
,
CompilationUnit
compilationUnit
)
{
return
this
.
innerInterface
.
getFormattedContent
(
indentLevel
,
compilationUnit
);
}
/**
* Getter method for property <tt>innerInterface</tt>.
* @return property value of innerInterface
* @author hewei
*/
public
InnerInterface
getInnerInterface
()
{
return
innerInterface
;
}
/**
* Setter method for property <tt>innerInterface</tt>.
* @param innerInterface value to be assigned to property innerInterface
* @author hewei
*/
public
void
setInnerInterface
(
InnerInterface
innerInterface
)
{
this
.
innerInterface
=
innerInterface
;
}
}
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