關(guān)于Mysql8.0版本驅(qū)動getTables返回所有庫的表問題淺析
前言
本文主要介紹的是關(guān)于Mysql8.0驅(qū)動getTables返回所有庫的表的相關(guān)內(nèi)容,MySQL Connector/J 8.0版本驅(qū)動向下兼容之前的5.5+版本MySQL,如果你使用的是5.5+版本MySQL,都可以升級成8.0版本驅(qū)動。
如果你是使用的5.X版本驅(qū)動,需要將Driver Class換成: com.mysql.cj.jdbc.Driver
需要注意的是:
8.0版本驅(qū)動DataSource相關(guān)的參數(shù)有變化:
比如8.0版本驅(qū)動將參數(shù) nullCatalogMeansCurrent 的默認(rèn)值由true改為了false,如果你使用DatabaseMetaData.getTables
獲取所有的表信息,8.0版本驅(qū)動將返回所有庫的表。
// 默認(rèn)會返回所有庫的表,而不僅是datasource指定的庫 databaseMetaData.getTables(null, null, null, new String[]{"TABLE"})
解決方案就是在連接池初始化時(shí),將這個(gè)參數(shù)改為true,以HikariCP為例:
Java Config:
HikariConfig config = new HikariConfig(); ... config.addDataSourceProperty("nullCatalogMeansCurrent", true);
Spring Boot 配置:
spring.datasource.hikari.data-source-properties.nullCatalogMeansCurrent=true
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
MySQL數(shù)據(jù)庫之union,limit和子查詢詳解
這篇文章主要為大家詳細(xì)介紹一下MySQL數(shù)據(jù)庫中union、limit和子查詢的使用,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下2022-07-07解析sql語句中l(wèi)eft_join、inner_join中的on與where的區(qū)別
以下是對在sql語句中l(wèi)eft_join、inner_join中的on與where的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07mysql自動定時(shí)備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
網(wǎng)上有很多關(guān)于window下Mysql自動備份的方法,可是真的能用的也沒有幾個(gè),有些說的還非常的復(fù)雜,難以操作,這里腳本之家小編為大家分享與整理了幾個(gè)軟件方便大家使用2016-11-11mysql數(shù)據(jù)庫從服務(wù)器移植到個(gè)人PC的方法
有時(shí)候本地也需要數(shù)據(jù)庫進(jìn)行測試,那么就需要將服務(wù)器的東西移植到本地,如果有服務(wù)器控制權(quán)限,可以直接復(fù)制mysql的目錄(windows下),如果是別的那么就需要下面的方法了。2011-08-08