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() の使い方と違い

推薦する

JavaScript オブジェクトを比較する 4 つの方法

目次序文参考比較手動比較浅い比較徹底比較要約する序文JavaScript でプリミティブ値を比較する...

Vueでスワイパープラグインを使用する際の問題を解決する

デモを作成するときにこのプラグインを使用していくつか問題が発生したため、プラグインの使用方法といくつ...

MySQLはデータ復旧を実装するためにbinlogログを使用する

MySQL binlog は MySQL ログの中で非常に重要なログであり、データベースのすべての ...

ネガティブマージン関数の紹介と使用方法の概要

1998 年の CSS2 勧告の時点で、テーブルは徐々に舞台から消え、歴史の中に記録されるようになり...

MySql のスロークエリ分析とスロークエリログの開き方の詳細説明

最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使え...

Node.jsはブレークポイント再開を実装する

目次ソリューション分析スライス履歴書のダウンロード具体的な解決プロセス論理的分析フロントエンドサーバ...

CSS3のall属性の使い方を理解する

1. 互換性以下のように表示されます。 互換性は問題ありません。IE を除き、他のブラウザは基本的に...

露滴アニメーション効果を実装するための Three.js サンプル コード

序文みなさんこんにちは。CSS ウィザードの alphardex です。この記事では、three.j...

nginx設定ファイルの場所を見つける方法の詳細な説明

よく知らないサーバーの場合や、かなり前にインストールした場所を忘れてしまった場合、構成ファイルの場所...

MySQLテーブル名の大文字と小文字を区別しない設定方法の詳細な説明

デフォルトでは、Linux の MySQL はテーブル名の大文字と小文字を区別します。 MySQL ...

InnoDB の主な機能 - 挿入キャッシュ、2 度書き込み、適応ハッシュ インデックスの詳細

InnoDB ストレージ エンジンの主な機能には、挿入バッファ、二重書き込み、適応ハッシュインデック...

Websocket+Vuexはリアルタイムチャットソフトウェアを実装します

目次序文1. 効果は図の通りです2. 具体的な実施手順1. Vuexの紹介2.webscoked実装...

CSS でリスト スタイル属性を設定する方法 (この記事を読むだけ)

リストスタイルのプロパティHTMLには、順序なしリストと順序ありリストの2種類のリストがあります。仕...

MySQLトリガーの使用と注意すべき点

目次トリガーについてトリガーの使用トリガーを作成するトリガーを表示トリガーの削除使用上の注意新旧の違...

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

MySQL 8.0.12 のダウンロードとインストールのチュートリアルを録画し、全員と共有しました。...