原文: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>
