メイビン
最も重要な詳細は、MySQL サーバー自体の JDBC ドライバー ライブラリです。お使いのコンピュータには表示されないため、そこに追加する必要があります。
Maven を使用している場合は、適切なライブラリを指定して Maven を支援する必要があります。
MySQL JDBC ドライバー:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
このコードをpom.xmlに追加するだけです。
さらに人気のあるドライバーもいくつか紹介します。
PostgeSQL用の JDBC ドライバー:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.4.0</version>
</dependency>
Oracle用の JDBC ドライバー:
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.5.0.0</version>
</dependency>
H2用の JDBC ドライバー:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
</dependency>
最初のデータベースクエリ
必要なライブラリがすべて含まれているので、最初のデータベース アクセス プログラムを実行します。すべてのコードをmain()メソッドに記述します。
ステージ 1。main()メソッドの前にインポートをいくつか追加します。これにより、作業がはるかに簡単になります。
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
ステージ 2。まずデータベース接続を作成する必要があります。これを行うには、main()メソッドで次のコードを記述します。
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test",
"login", "password");
1 行で実行することもできます。どちらか都合の良い方を選択してください。ログインとパスワードは、もちろん、ローカルの MySQL サーバーの実際のものに置き換える必要があります。
ステージ3。データベースへのクエリを作成します。ユーザーテーブルからすべてのユーザーを取得しましょう。次に、次のコード行を追加する必要があります。
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");
それは2行です。最初にオブジェクトを作成します声明2 番目では、それを使用してデータベースにクエリを実行します。executeQuery()メソッドはデータベース クエリを実行し、次のタイプのオブジェクトを返します。結果セット。
ステージ4。オブジェクトに含まれるデータを表示する結果セット。
結果セット- それはセットではなく、単にそう呼ばれているだけです。クエリの実行結果が保存されます。このオブジェクトはイテレータに似ています。このオブジェクトを使用すると、結果の現在の行を設定または変更し、この現在の行からデータを取得できます。次のコードを例に追加します。
while (results.next()) {
Integer id = results.getInt(1);
String name = results.getString(2);
System.out.println(results.getRow() + ". " + id + "\t"+ name);
}
next()メソッドは、現在の結果行を次の結果行に変更します。そのような行がある場合は true を返し、それ以上の行がない場合は false を返します。
次に、オブジェクトの現在の行から結果セットその列からデータを取得できます。
- getRow() - オブジェクト内の現在の行の番号を返します。結果セット
- getInt(N) - 現在の行の N 番目の列のデータを int として返します。
- getString(N) - 現在の行の N 番目の列のデータを文字列として返します。
完全なプログラムリスト
エラーを最小限に抑えるために、プログラムの完全なリストを次に示します。
package org.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcApplicatin {
public static void main(String[] args) throws Exception{
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test",
"root", "secret");
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");
while (results.next()) {
Integer id = results.getInt(1);
String name = results.getString(2);
System.out.println(results.getRow() + ". " + id + "\t"+ name);
}
connection.close();
}
}
そして、プログラムを実行した後の画面出力は次のとおりです。
「C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe... | |||
十一 | イワノフ・イワン | ||
2.2 | ペトロフ・ニコライ | ||
3.3 | シドロフ・ヴィタリー | ||
プロセスは終了コード 0 で終了しました |
GO TO FULL VERSION