springboot配置MyBatis Generator,連接MySQL數據庫實現自動生成代碼時,所有的表都提示
Table configuration with catalog null, schema null, and table 表名 did not resolve to any tables
項目種沒有自動生成相關代碼。
因為之前的項目都是連接的Oracle數據庫,對比之前的generatorConfig.xml反復查找原因,沒有發現xml文件配置錯誤。
后來發現是因為MySQL對數據庫表名大小寫敏感,我的MySQL數據庫是小寫的表名,我把表名大寫了而且用雙引號引起來了,並沒有給我做大小寫轉換。
Oracle數據庫表名默認是不區分大小寫的,但是不知道為什么MySQL默認就區分了,總之被坑了。
查找資料:
tableName(必要):要生成對象的表名;
注意:大小寫敏感問題。正常情況下,MBG會自動的去識別數據庫標識符的大小寫敏感度,在一般情況下,MBG會
根據設置的schema,catalog或tablename去查詢數據表,按照下面的流程:
1,如果schema,catalog或tablename中有空格,那么設置的是什么格式,就精確的使用指定的大小寫格式去查詢;
2,否則,如果數據庫的標識符使用大寫的,那么MBG自動把表名變成大寫再查找;
3,否則,如果數據庫的標識符使用小寫的,那么MBG自動把表名變成小寫再查找;
4,否則,使用指定的大小寫格式查詢;
另外的,如果在創建表的時候,使用的""把數據庫對象規定大小寫,就算數據庫標識符是使用的大寫,在這種情況下也會使用給定的大小寫來創建表名;
這個時候,請設置delimitIdentifiers="true"即可保留大小寫格式;