關于Mysql8.0版本驅(qū)動getTables返回所有庫的表問題淺析
前言
本文主要介紹的是關于Mysql8.0驅(qū)動getTables返回所有庫的表的相關內(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相關的參數(shù)有變化:
比如8.0版本驅(qū)動將參數(shù) nullCatalogMeansCurrent 的默認值由true改為了false,如果你使用DatabaseMetaData.getTables
獲取所有的表信息,8.0版本驅(qū)動將返回所有庫的表。
// 默認會返回所有庫的表,而不僅是datasource指定的庫 databaseMetaData.getTables(null, null, null, new String[]{"TABLE"})
解決方案就是在連接池初始化時,將這個參數(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)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
MySQL數(shù)據(jù)庫之union,limit和子查詢詳解
這篇文章主要為大家詳細介紹一下MySQL數(shù)據(jù)庫中union、limit和子查詢的使用,文中的示例代碼講解詳細,對我們學習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ū)別進行了詳細的分析介紹,需要的朋友可以參考下2013-07-07mysql自動定時備份數(shù)據(jù)庫的最佳方法(windows服務器)
網(wǎng)上有很多關于window下Mysql自動備份的方法,可是真的能用的也沒有幾個,有些說的還非常的復雜,難以操作,這里腳本之家小編為大家分享與整理了幾個軟件方便大家使用2016-11-11mysql數(shù)據(jù)庫從服務器移植到個人PC的方法
有時候本地也需要數(shù)據(jù)庫進行測試,那么就需要將服務器的東西移植到本地,如果有服務器控制權(quán)限,可以直接復制mysql的目錄(windows下),如果是別的那么就需要下面的方法了。2011-08-08