[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
之前我是这样写的:
修改后是:
另一种方案是:
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
以上两种都可以
cx-young 原创文章 26获赞 41访问量 1182 关注 私信 展开阅读全文