JavaからMySQLデータベースに接続して CRUD 操作を行う
JavaからMySQLデータベースに接続する方法
ドライバーのダウンロード
まず、MySQL Connector/Jと呼ばれるJDBCドライバーをダウンロードする必要があります。これは、JavaプログラムからMySQLデータベースに接続するためのライブラリです。
最新版は、以下のリンクからダウンロードできます。
ダウンロードしたら、解凍してプロジェクトフォルダに配置します。
プロジェクトへの追加
次に、ダウンロードしたドライバーをプロジェクトに追加する必要があります。
Mavenプロジェクトの場合、pom.xmlファイルに以下の依存関係を追加します。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.30</version>
</dependency>
dependencies {
implementation 'mysql:mysql-connector-j:8.0.30'
}
接続コードの作成
以下のコードは、MySQLデータベースに接続する例です。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) throws SQLException {
// 接続情報
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "password";
// 接続
Connection connection = DriverManager.getConnection(url, user, password);
// 接続確認
if (connection != null) {
System.out.println("接続成功!");
} else {
System.out.println("接続失敗...");
}
// 接続を閉じる
connection.close();
}
}
このコードでは、以下の処理を行っています。
DriverManager.getConnection
メソッドを使用して、データベースに接続します。- 接続に成功した場合は、「接続成功!」というメッセージを出力します。
- 最後に、
connection.close()
メソッドを使用して、接続を閉じます。
コードの実行
上記のコードをコンパイルして実行すると、データベースに接続できるかどうかを確認することができます。
その他
上記のコードは基本的な接続方法のみを示しています。
- データベースの操作(SELECT、INSERT、UPDATE、DELETEなど)
- トランザクション処理
- エラー処理
など、詳細については、以下のリファレンスなどを参照してください。
注意事項
- 接続情報は、ご自身の環境に合わせて変更する必要があります。
- データベースへの接続には、適切な権限が必要です。
- 接続を閉じ忘れると、メモリリークの原因となるので注意が必要です。
上記の解説を参考に、JavaからMySQLデータベースに接続してみてください。
JavaからMySQLデータベースに接続するサンプルコード
import java.sql.*;
public class Main {
public static void main(String[] args) throws SQLException {
// 接続情報
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "password";
// 接続
Connection connection = DriverManager.getConnection(url, user, password);
// SELECT
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
while (resultSet.next()) {
System.out.println(resultSet.getString("id") + " " + resultSet.getString("name"));
}
// INSERT
statement = connection.createStatement();
statement.executeUpdate("INSERT INTO users (name) VALUES ('John Doe')");
// UPDATE
statement = connection.createStatement();
statement.executeUpdate("UPDATE users SET name = 'Jane Doe' WHERE id = 1");
// DELETE
statement = connection.createStatement();
statement.executeUpdate("DELETE FROM users WHERE id = 2");
// 接続を閉じる
connection.close();
}
}
createStatement
メソッドを使用して、Statementオブジェクトを作成します。executeQuery
メソッドを使用して、SELECTクエリを実行します。next
メソッドを使用して、結果セットをループ処理します。executeUpdate
メソッドを使用して、INSERT、UPDATE、DELETEクエリを実行します。
JavaからMySQLデータベースに接続するその他の方法
JPA (Java Persistence API)
JPAを使用すると、以下のようなメリットがあります。
- オブジェクト指向でのデータアクセス
- SQLの記述を減らすことができる
- 複数のデータベースベンダーに対応できる
JPAを使用するには、以下のライブラリが必要です。
- Hibernate
- EclipseLink
- OpenJPA
など
Spring Dataは、Spring Framework上で動作するデータアクセスフレームワークです。
- JPAなどのデータアクセス技術を簡単に利用できる
- Spring Frameworkとの統合が容易
- Spring Data JPA
MyBatisは、Javaとデータベース間のマッピングフレームワークです。
- SQL記述量が少なく済む
- 複雑なSQLを記述しやすい
MyBatisは、XMLファイルでSQLとJavaオブジェクトのマッピングを記述します。
上記以外にも、JavaからMySQLデータベースに接続する方法はいくつかあります。
それぞれの特徴を理解して、ご自身の用途に合った方法を選択してください。
java mysql jdbc