mybatis返现工程去掉表名前缀

求大神赐教,mybatis反向工程怎么去掉表名前缀,比如所有表都有tb_前缀,怎么全部去掉,不希望一个一个的表映射,我要一个table元素完成对所有表的映射并且去掉表名前缀,我看到很逗都是去掉字段前缀的答案。

5个回答

针对你这个问题刚刚写了一篇博客,请参考:Mybatis generator 替换/去掉所有Table的前缀

superdangbo
Java-Basketball 回复shutao420: 你好,谢谢,你的开发工具是eclipse还是idea?
2 年多之前 回复
shutao420
shutao420 你好!你回答的问题,符合我的需求,特感谢,可是那个头文件怎么设置呢!<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 这个不支持domainObjectRenamingRule元素
2 年多之前 回复

我想问的是,tb_user表名映射为User,tb_emp映射为Emp如何配置,不能出现多个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>  
shutao420
shutao420 <columnRenamingRule searchString="^tb_" replaceString=""/>只是替换字段名
2 年多之前 回复
shutao420
shutao420 我想问的是,tb_user表名映射为User,tb_emp映射为Emp如何配置,不能出现多个table元素
2 年多之前 回复

就把<!-- enableSubPackages:是否让schema作为包的后缀 -->

shutao420
shutao420 不太懂,能再详细点吗?初次使用
2 年多之前 回复

试了一下、发现官网的dtd根本就没加上domainObjectRenamingRule元素;
其次,试了下引用jar里面dtd,一样没能达到预期效果,请问楼主解决了没有?

shutao420
shutao420 我是直接修改原代码重新编译解决的,dtd用jar里面的,官网的那个缺少没有该元素
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问