【問題】
使用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)