データベースが選択されていませんクエリ:データベースクエリで疑問符のプレースホルダーを使用して正しいデータをクエリできないという問題を解決します

プロジェクトシーン:

データベースにデータがありますが、照会できません。エラーの内容は次のとおりです。java.sql.SQLException: No database selected Query

問題の説明:

環境の説明:

1.以下はTomcatサーバーログインプログラムのコードです(環境はIDEAです)。?プレースホルダーを使用してデータをクエリします。
ここに画像の説明を挿入

2.以下は私のMySQLデータベースの内容です。
ここに画像の説明を挿入

ここに画像の説明を挿入

操作プロセス:

3.サーバーを開いたときに、ユーザー名とパスワードを入力すると、
ここに画像の説明を挿入
理論的にはログインが成功したことが示され、アカウントのパスワードはデータベースと完全に一致します
が、結果はのようになります
ここに画像の説明を挿入


原因分析:

接下来进入了漫漫排除之路~

最初はステートメントが間違っているのではないかと思ったので、データベースをアイデアに統合し、コンソールにSQLステートメントを記述しました。

4.コンソールを使用して結果を照会し、結果を
ここに画像の説明を挿入
データベースで照会しました

SQLステートメントを書く理由を除外した後、Tomcatサーバーの出力を注意深くチェックしました

5.サーバー出力の表示ここに画像の説明を挿入
tom...tom123は、私が印刷したユーザー入力結果です。これは正しいことであり、サーバーへのユーザー入力に問題がないことを示しています。
ここに画像の説明を挿入

nullデータベースクエリの後にオブジェクトを出力しました。これnullは、クエリ中にエラーが発生したこと意味します。

ここにポイントがあります

ここに画像の説明を挿入

このとき、エラーに気づきましたNo database selected Query
。クエリにデータベースが選択されていないことを意味しますか?
私は明らかにユーザーフォームを選択しましたが、疑問符のプレースホルダーを使用したためだと真剣に疑っています。

いくつかの情報を確認した後、データベースに明確な選択肢がなかったためかどうか疑問思いました。クエリするデータベースがわからない場合は、アイデアを教えてください。


解決:

そこで、usersテーブルの前にデータベース名を注意深く追加しました。として書かれたweb01.users

ここに画像の説明を挿入

Tomcatサーバーを再起動し、同じ内容を入力します。

ここに画像の説明を挿入

  • ジャンプページ
    ここに画像の説明を挿入
  • アイデアに戻る:

テストコードの2つの印刷結果は期待に達し、クエリオブジェクトも出てきました。

ここに画像の説明を挿入
ここに画像の説明を挿入

  • クエリが成功したことを示しています〜

概要:

  • このエラーは、データベースデータをクエリするときにすべての人に発生するわけではないようですが、私が持っているので、記録させてください。
  • IDEAでのクエリにより、データベースが見つからないという問題が発生する可能性がありますか?または、データベースが接続および構成されていません。ただし、「データベース名。テーブル名」を使用している限り、照会できない問題はありません

更新

えーと、問題を見つけました。設定ファイルC3P0接続プール、具体的には書き込まない数据库名
ここに画像の説明を挿入
ので、特定のデータベースを選択しなかったためjava.sql.SQLException: No database selected Query前にバーストが発生します。恥ずかしいです〜

  • 構成ファイルに特定のデータベース名を追加した後、問題は発生しなくなりました。
    • 構成ファイル
      ここに画像の説明を挿入
    • 文章を確認する
      ここに画像の説明を挿入

ただし、これは、構成ファイルに照会する必要のあるデータベースを書き込むことができないことを意味し、sqlステートメントに明確に書き込むことができます。これも可能です。たくさん投げますが、このように特定のデータベースにクエリを実行する場合、ステートメントを記述する方法は2つあります〜

おすすめ

転載: blog.csdn.net/weixin_43876778/article/details/114143918