這篇文章給大家分享的是有關(guān)MySQL8.0版本驅(qū)動(dòng)getTables返回所有數(shù)據(jù)庫表的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
專業(yè)從事網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),高端網(wǎng)站制作設(shè)計(jì),小程序制作,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠服務(wù),采用HTML5+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站建設(shè),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
如果你是使用的5.X版本驅(qū)動(dòng),需要將Driver Class換成: com.mysql.cj.jdbc.Driver
需要注意的是:
8.0版本驅(qū)動(dòng)DataSource相關(guān)的參數(shù)有變化:
比如8.0版本驅(qū)動(dòng)將參數(shù) nullCatalogMeansCurrent 的默認(rèn)值由true改為了false,如果你使用DatabaseMetaData.getTables
獲取所有的表信息,8.0版本驅(qū)動(dòng)將返回所有庫的表。
// 默認(rèn)會(huì)返回所有庫的表,而不僅是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
感謝各位的閱讀!關(guān)于“Mysql8.0版本驅(qū)動(dòng)getTables返回所有數(shù)據(jù)庫表的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!