求大神赐教,mybatis反向工程怎么去掉表名前缀,比如所有表都有tb_前缀,怎么全部去掉,不希望一个一个的表映射,我要一个table元素完成对所有表的映射并且去掉表名前缀,我看到很逗都是去掉字段前缀的答案。
针对你这个问题刚刚写了一篇博客,请参考:Mybatis generator 替换/去掉所有Table的前缀
1.去除表字段前缀
[html] view plain copy
使用table中的属性配置
<table tableName="server_hosting">
<columnRenamingRule searchString="^[^_]+" replaceString=""/>
</table>
searchString="^[^_]+",这个查找字符串就是使用正则表达式来匹配表的字段名
这个意思就是匹配,开头的任意个非下划线(_)的字符,也就是这种如:c_,abc_。。。等等
逆向工程生成数据库中所有表:
<table schema="" tableName="%"></table>
2.匹配数据库中所有的表(适合表太多)
[html] view plain copy
<table schema="" tableName="%"
enableCountByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
enableUpdateByExample="false">
<columnRenamingRule searchString="^[^_]+" replaceString=""/>
</table>
我想问的是,tb_user表名映射为User,tb_emp映射为Emp如何配置,不能出现多个table元素
就把<!-- enableSubPackages:是否让schema作为包的后缀 -->
试了一下、发现官网的dtd根本就没加上domainObjectRenamingRule元素;
其次,试了下引用jar里面dtd,一样没能达到预期效果,请问楼主解决了没有?