MyBatis Generator 生成器把其他數據庫的同名表生成下來的問題


【問題】

  使用MyBatis Generator生成器時,發現Mapper文件中出現字段與連接數據庫不符,經過查找發現該表是其他數據庫的同名表的字段。

 

【解決問題】

  在構造文件中,這里是generatorConfig.xml添加連接數據庫參數 nullCatalogMeansCurrent=true

<jdbcConnection connectionURL="jdbc:mysql://服務器地址:端口號/數據庫名?serverTimezone=GMT%2B8" driverClass="com.mysql.cj.jdbc.Driver" password="ahbcd0306" userId="xlj" >
    
    <property name="nullCatalogMeansCurrent" value="true"/>
 </jdbcConnection>

 

【注解】

  🤣這里通過兩種方式可設置連接參數。第一種直接在數據庫名后面加 "?參數name=參數value",第二種通過 property 標簽設置參數name,value。

  😁MySql不能正確支持SQL目錄和架構。如果 在MySql中運行 create schema 命令,它實際上會創建一個數據庫 - 並且JDBC驅動程序將其作為目錄報告回來。但是MySql語法不支持標准的catalog..table  SQL語法。因此,最好不要在生成器配置中指定目錄或模式。只需指定表名並在JDBC URL中指定數據庫即可。

如果您使用的是Connector / J的8.x版,您可能會注意到生成器嘗試為MySql信息模式(sys,information_schema,performance_schema等)中的表生成代碼。這可能不是您想要的!要禁用此行為,請將屬性“nullCatalogMeansCurrent = true”添加到JDBC URL。

  

  😊有關時區 serverTimezone 說明參考(https://www.cnblogs.com/xqz0618/p/servertimezoneerror.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM