48
48
public class MapperPlugin extends PluginAdapter {
49
49
private Set <String > mappers = new HashSet <String >();
50
50
private boolean caseSensitive = false ;
51
+ //开始的分隔符,例如mysql为`,sqlserver为[
52
+ private String beginningDelimiter = "" ;
53
+ //结束的分隔符,例如mysql为`,sqlserver为]
54
+ private String endingDelimiter = "" ;
55
+ //注释生成器
56
+ private CommentGeneratorConfiguration commentCfg ;
51
57
52
58
@ Override
53
59
public void setContext (Context context ) {
54
60
super .setContext (context );
55
61
//设置默认的注释生成器
56
- CommentGeneratorConfiguration commentCfg = new CommentGeneratorConfiguration ();
62
+ commentCfg = new CommentGeneratorConfiguration ();
57
63
commentCfg .setConfigurationType (MapperCommentGenerator .class .getCanonicalName ());
58
64
context .setCommentGeneratorConfiguration (commentCfg );
59
65
}
@@ -73,6 +79,20 @@ public void setProperties(Properties properties) {
73
79
if (StringUtility .stringHasValue (caseSensitive )) {
74
80
this .caseSensitive = caseSensitive .equalsIgnoreCase ("TRUE" );
75
81
}
82
+ String beginningDelimiter = this .properties .getProperty ("beginningDelimiter" );
83
+ if (StringUtility .stringHasValue (beginningDelimiter )) {
84
+ this .beginningDelimiter = beginningDelimiter ;
85
+ }
86
+ commentCfg .addProperty ("beginningDelimiter" , this .beginningDelimiter );
87
+ String endingDelimiter = this .properties .getProperty ("endingDelimiter" );
88
+ if (StringUtility .stringHasValue (endingDelimiter )) {
89
+ this .endingDelimiter = endingDelimiter ;
90
+ }
91
+ commentCfg .addProperty ("endingDelimiter" , this .endingDelimiter );
92
+ }
93
+
94
+ public String getDelimiterName (String name ) {
95
+ return beginningDelimiter + name + endingDelimiter ;
76
96
}
77
97
78
98
@ Override
@@ -120,9 +140,9 @@ private void processEntityClass(TopLevelClass topLevelClass, IntrospectedTable i
120
140
}
121
141
//是否忽略大小写,对于区分大小写的数据库,会有用
122
142
if (caseSensitive && !topLevelClass .getType ().getShortName ().equals (tableName )) {
123
- topLevelClass .addAnnotation ("@Table(name = \" " + tableName + "\" )" );
143
+ topLevelClass .addAnnotation ("@Table(name = \" " + getDelimiterName ( tableName ) + "\" )" );
124
144
} else if (!topLevelClass .getType ().getShortName ().equalsIgnoreCase (tableName )) {
125
- topLevelClass .addAnnotation ("@Table(name = \" " + tableName + "\" )" );
145
+ topLevelClass .addAnnotation ("@Table(name = \" " + getDelimiterName ( tableName ) + "\" )" );
126
146
}
127
147
}
128
148
0 commit comments