Skip to content

Commit 12bdc77

Browse files
committed
MBG插件增加caseSensitive默认false,当数据库表名区分大小写时,可以将该属性设置为true
1 parent 300ad03 commit 12bdc77

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

src/main/java/com/github/abel533/generator/MapperPlugin.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
*/
4848
public class MapperPlugin extends PluginAdapter {
4949
private Set<String> mappers = new HashSet<String>();
50+
private boolean caseSensitive = false;
5051

5152
@Override
5253
public void setContext(Context context) {
@@ -68,6 +69,10 @@ public void setProperties(Properties properties) {
6869
} else {
6970
throw new RuntimeException("Mapper插件缺少必要的mappers属性!");
7071
}
72+
String caseSensitive = this.properties.getProperty("caseSensitive");
73+
if (StringUtility.stringHasValue(caseSensitive)) {
74+
this.caseSensitive = caseSensitive.equalsIgnoreCase("TRUE");
75+
}
7176
}
7277

7378
@Override
@@ -113,7 +118,10 @@ private void processEntityClass(TopLevelClass topLevelClass, IntrospectedTable i
113118
+ tableName
114119
+ context.getEndingDelimiter();
115120
}
116-
if (!topLevelClass.getType().getShortName().equalsIgnoreCase(tableName)) {
121+
//是否忽略大小写,对于区分大小写的数据库,会有用
122+
if (caseSensitive && !topLevelClass.getType().getShortName().equals(tableName)) {
123+
topLevelClass.addAnnotation("@Table(name = \"" + tableName + "\")");
124+
} else if (!topLevelClass.getType().getShortName().equalsIgnoreCase(tableName)) {
117125
topLevelClass.addAnnotation("@Table(name = \"" + tableName + "\")");
118126
}
119127
}

src/test/resources/generator/generatorConfig.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
<plugin type="com.github.abel533.generator.MapperPlugin">
3636
<property name="mappers" value="com.github.abel533.mapper.Mapper,com.github.abel533.hsqldb.HsqldbMapper"/>
37+
<property name="caseSensitive" value="true"/>
3738
</plugin>
3839

3940
<jdbcConnection driverClass="com.mysql.jdbc.Driver"

wiki/mapper/5.UseMBG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ Java代码很容易,和文档中的一样:
6565
6666
<plugin type="com.github.abel533.generator.MapperPlugin">
6767
<property name="mappers" value="com.github.abel533.mapper.Mapper"/>
68+
<!-- caseSensitive默认false,当数据库表名区分大小写时,可以将该属性设置为true -->
69+
<property name="caseSensitive" value="true"/>
6870
</plugin>
6971

7072
<jdbcConnection driverClass="com.mysql.jdbc.Driver"

0 commit comments

Comments
 (0)