mybatis generator对于同一个表生成多次代码的问题
原文:https://blog.csdn.net/jiangjun0130/article/details/83055336
现象:
mybatis generator是一个持久层代码自动生成工具,能够根据mybatis规则,自动生成:xml 映射文件、dto(pojo)类、dao(mapper)接口。我使用过很多次。但最近发现在自动生成的时候出现了问题:
1. 生成的 mapper.xml 文件中,有多个 id="BaseResultMap"的映射节点(其它节点也都是多份),导致项目启动的时候报错;
2. 生成的 pojo 类字段还是之前我在老数据库中定义的同名表的字段(新库中同名表我添加了一些字段);
问题原因:
1):在数据库服务器上,不同的数据库中表名相同的表多张。(有几个同名的表,就会生成几次)
2):mysql驱动升级到8.x,造成设置schema无效。
解决:
jdbc连接新增nullCatalogMeansCurrent属性:
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://rm-wz90rldy955xx35820o.mysql.rds.aliyuncs.com:3126/retail?useUnicode=true" userId="root1" password="Qdjs2019!"> <property name="nullCatalogMeansCurrent" value="true" /> </jdbcConnection>