共計 741 個字符,預計需要花費 2 分鐘才能閱讀完成。
這篇文章給大家分享的是有關 Mysql8.0 版本驅動 getTables 返回所有數據庫表的示例分析的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
如果你是使用的 5.X 版本驅動,需要將 Driver Class 換成: com.mysql.cj.jdbc.Driver
需要注意的是:
8.0 版本驅動 DataSource 相關的參數有變化:
比如 8.0 版本驅動將參數 nullCatalogMeansCurrent 的默認值由 true 改為了 false,如果你使用 DatabaseMetaData.getTables 獲取所有的表信息,8.0 版本驅動將返回所有庫的表。
// 默認會返回所有庫的表,而不僅是 datasource 指定的庫
databaseMetaData.getTables(null, null, null, new String[]{TABLE})
解決方案就是在連接池初始化時,將這個參數改為 true,以 HikariCP 為例:
Java Config:
HikariConfig config = new HikariConfig();
config.addDataSourceProperty(nullCatalogMeansCurrent , true);
Spring Boot 配置:
spring.datasource.hikari.data-source-properties.nullCatalogMeansCurrent=true
感謝各位的閱讀!關于“Mysql8.0 版本驅動 getTables 返回所有數據庫表的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
正文完