MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

序文

この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTablesに関する関連コンテンツを紹介します。MySQL Connector/J 8.0バージョンドライバは、以前のMySQL 5.5+バージョンと下位互換性があります。MySQL 5.5+バージョンを使用している場合は、8.0バージョンドライバにアップグレードできます。

ドライバの 5.X バージョンを使用している場合は、ドライバ クラスをcom.mysql.cj.jdbc.Driverに変更する必要があります。

以下の点に注意してください。

バージョン 8.0 のドライバー DataSource に関連するパラメータが変更されました。

たとえば、バージョン 8.0 のドライバーでは、パラメータ nullCatalogMeansCurrent のデフォルト値が true から false に変更されます。DatabaseMetaData.getTables DatabaseMetaData.getTables使用してすべてのテーブル情報を取得すると、バージョン 8.0 のドライバーではすべてのデータベース テーブルが返されます。

// デフォルトでは、データソースで指定されたデータベースだけでなく、すべてのデータベース テーブルが返されます databaseMetaData.getTables(null, null, null, new String[]{"TABLE"})

解決策は、接続プールが初期化されるときにこのパラメータを true に変更することです。HikariCP を例に挙げます。

Java 構成:

HikariConfig config = 新しい HikariConfig();
...
config.addDataSourceProperty("nullCatalogMeansCurrent", true);

Spring Boot 構成:

spring.datasource.hikari.data-source-properties.nullCatalogMeansCurrent=true

その他のパラメータの変更については、[公式ドキュメント]を参照してください。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • mysql.data.dll ドライバーのさまざまなバージョンの簡単な分析
  • MybatisリバースエンジニアリングでMysql8.0バージョンドライバを使用する際に発生する問題の詳細な説明

<<:  ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

>>:  Vue.set() と this.$set() の使い方と違い

推薦する

deepin20 で NVIDIA クローズドソース ドライバーをインストールするための詳細な手順

ステップ1: ディープ「グラフィックドライバー」をインストールするdeepin v20にはデフォルト...

Dockerに証明書を追加する方法

1. アップグレードプロセス: sudo apt-get updateパッケージが見つからない、パッ...

HTML文書の基本構造(Webページ作成の基礎知識)

HTMLの動作原理: 1. ローカル操作: ブラウザでhtmlファイルを開く2. リモートアクセス...

jQueryフレームワークは、要素の表示と非表示の3つのアニメーションメソッドを実装しています。

目次1. デフォルトで表示と非表示を切り替える2. スライドして表示と非表示を切り替える3. フェー...

自動的にフォーカスを取得する要素入力ボックスの実装

最近のプロジェクトでフォームを作成するときに、コメント ボックスまで自動的にスクロールし、コメント ...

Jenkins+tomcat の自動ホットデプロイメント/再起動と発生した問題の解決策 (推奨)

1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...

MySQL開発標準と使用スキルの概要

1. 命名規則1. データベース名、テーブル名、フィールド名には小文字を使用し、アンダースコアで区切...

MySQL 5.5.27 winx64 のインストールと設定方法のグラフィックチュートリアル

1. インストールパッケージMYSQLサービスダウンロードアドレス:MySQL公式サイトからダウンロ...

JQuery データグリッドクエリの詳細な説明

目次ツリー項目にコードを追加します。 1. 右側に関連情報ページを保存します(userManage....

CSSをインポートする方法に関する詳細な洞察の要約

CSS の開発履歴についてはここでは紹介しません。ブログを書いている理由の 1 つは、フロントエンド...

MySQL の if 関数の正しい使い方の詳細な説明

今日私が書こうとしている内容では、プログラムは 7 時間近く実行され、データベースに 1,000 万...

SQL グループ化により重複を削除し、他のフィールドで並べ替える

必要:あるフィールドの同一項目を結合し、別の時間フィールドで並べ替えます。例:初めに テーブルから都...

Vue コンポーネントの切り替え、動的コ​​ンポーネント、コンポーネントのキャッシュについて

目次1. コンポーネント切り替え方式方法1: v-ifとv-elseを使用する方法 2: 組み込みコ...

Docker で Jenkins サービスを構築する例

画像をプルする root@EricZhou-MateBookProX: docker pull je...

Vueはシンプルな虫眼鏡効果を実装します

この記事では、参考までに、簡単な虫眼鏡効果を実現するためのVueの具体的なコードを紹介します。具体的...