MyBatis Generator 生成器把其他数据库的同名表生成下来的问题:[WARNING] Table Configuration product matched more than one t

[WARNING] Table Configuration product matched more than one table (demo..product,shop..product,sms..product)
今天用逆向工程时,发现生成的xml有700多行,而且对应的方法生成了三次,所以导致java.lang.IllegalArgumentException
然后查阅资料解决办法:
使用mybatis逆向工程多次生成mapper时,未将之前生成的mapper.xml删除,导致其在原有的xml里追加内容。最终导致BaseResultMap重复。但是还没解决,最后找到了,现记录下来,防止更多同学踩坑。

解决方法:

按照查阅到的方法,不要忘记删除已生成的mapper.xml,重新生成。最后干脆重新来一遍。
结果还是不行
最后再认真仔细看提示信息发现:一条警告信息
[WARNING] Table Configuration product matched more than one table (demo…product,shop…product,sms…product)
MyBatis Generator 生成器把其他数据库的同名表同时生成下来,所以生成了三个,也就是700多行

在使用Mybatis逆向工程连接MySql数据库生成代码的时,某个类中出来了数据库连接地址中指定数据库表里面没有的字段

如图,我在jdbc.properties指定表为sms
在这里插入图片描述
但是警告信息却:[WARNING] Table Configuration product matched more than one table (demo…product,shop…product,sms…product)

解决办法是在Mybatis逆向工程的配置文件里的数据库连接地址中添加下列参数:nullCatalogMeansCurrent=true
之前我是这样写的:

<jdbcConnection
                driverClass="${driver}" connectionURL="${url}" userId="${username}" password="${password}">
        </jdbcConnection>

修改后是:

<jdbcConnection
                driverClass="${driver}" connectionURL="${url}" userId="${username}" password="${password}">
            <!-- connectionURL属性,防止乱码 -->
            <property name="useUnicode" value="true"/>
            <!-- connectionURL属性,防止乱码 -->
            <property name="characterEncoding" value="utf-8"/>
            <!-- connectionURL属性,防止报时间错误 -->
            <property name="serverTimezone" value="UTC"/>
            <!-- connectionURL属性,防止生成不同数据库同名表的代码 -->
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>

另一种方案是:

driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/sms?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&nullCatalogMeansCurrent=true
username = root
password = ***
location = D:\\maven\\repository\\mysql\\mysql-connector-java\\8.0.17\\mysql-connector-java-8.0.17.jar

以上两种都可以

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值