mybatis-generator同名表的处理

背景:mybatis-generator将数据库中的表快速生成实体类和mapper文件
数据库:MySQL
需求:将mybatisdemo数据库下的user表快速生成实体类;
出现问题:mybatis-generator直接将mybatisdemo数据库下的user表和mysql数据库(MySQL自带的数据库)下的user表同时生成了实体类;即数据库A与B都有表名为T的表同时生成了两个实体类,显然与需求不符。

解决方法:在generatorConfig.xml配置文件中的table元素中加入catalog属性(数据库名):

<table  tableName="user" catalog="mybatisdemo" domainObjectName="User" delimitIdentifiers="true">
	 <generatedKey column="id" sqlStatement="JDBC" />
</table>

以上方法却会出现一个新的问题:生成实体类和mapper文件、mapper接口的时候会增加一级目录;
未加catalog属性:
在这里插入图片描述

加了catalog属性后:
在这里插入图片描述

显然,这也不是我想要的结果,如果有那个大神知道如何解决,还请不吝赐教,敬请留言,谢谢!

当然,还有一种方法就是更改表名,让其在数据库中名称是唯一的。显然也不是我理想的解决方案。

注:该问题已解决,依旧使用catlog属性,同时在table标签中加入property name=“ignoreQualifiersAtRuntime” value=“true” :

<table  tableName="user" catalog="mybatisdemo" domainObjectName="User" delimitIdentifiers="true">
   <!--  <property name="useActualColumnNames" value="true" /> -->
   <property name="ignoreQualifiersAtRuntime" value="true"/>
   <generatedKey column="id" sqlStatement="JDBC" />
  </table>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值