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

以上两种都可以

原创文章 26 获赞 42 访问量 1300

猜你喜欢

转载自blog.csdn.net/qq_41490938/article/details/105878660