JavaでMySQLを操作するには「JDBC(Java Database Connectivity)」という仕組みを使います。本記事では、環境構築から基本的なSQL操作(SELECT・INSERT・UPDATE・DELETE)まで、実務にも使えるレベルで分かりやすく解説します。
この記事でわかること
- JavaとMySQLの連携方法(JDBCの使い方)
- ドライバ設定・接続処理の手順
- SQL文を実行する基本コード(SELECT, INSERTなど)
- 実務でも使える例外処理・接続管理のコツ
1. JDBCとは?Javaでデータベース操作を可能にする仕組み
JDBC(Java Database Connectivity)は、JavaからMySQLなどのデータベースにアクセスするためのAPIです。
Java ➝ JDBC ➝ MySQL
という流れで接続・データ操作が可能になります。
2. 環境構築手順(Java+MySQL)
必要なもの
ツール | 推奨バージョン |
---|---|
Java SDK | 17以上 |
MySQL Server | 8.0以上 |
JDBCドライバ | mysql-connector-j-8.x.x.jar |
JDBCドライバの入手
公式サイトまたはMavenから取得できます。
Maven使用例(pom.xml
に追加)
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.3.0</version>
</dependency>
3. JavaとMySQLの接続コード(基本形)
以下のコードは、MySQLに接続する基本的なJDBC処理の流れです。
import java.sql.*;
public class JdbcConnectSample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/sampledb";
String user = "root";
String password = "your_password";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
System.out.println("接続成功!");
} catch (SQLException e) {
System.out.println("接続失敗: " + e.getMessage());
}
}
}
ポイント: try-with-resources
構文で自動クローズを実現しています。
4. SQL実行の基本コード
SELECT(データ取得)
String sql = "SELECT id, name FROM users";
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println(id + ": " + name);
}
}
INSERT(データ追加)
String sql = "INSERT INTO users (name) VALUES (?)";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, "山田太郎");
pstmt.executeUpdate();
}
PreparedStatementを使うとSQLインジェクション対策にも有効!
5. 実務での注意点:例外処理と接続の管理
例外処理のベストプラクティス
catch (SQLException e) {
e.printStackTrace(); // ログ出力に切り替えてもOK
// 業務的エラー対応処理などもここに入れる
}
接続のクローズ忘れに注意
try-with-resources
を使えば自動でcloseされるため、忘れやミスが減ります。
6. よくあるエラーと対処法
エラー内容 | 原因 | 対処法 |
---|---|---|
ClassNotFoundException | ドライバの読み込み忘れ | Mavenで依存追加/JAR導入 |
Access denied for user | パスワード・ユーザー名誤り | 権限とユーザー設定を確認 |
Communications link failure | ポート/ホスト設定ミス | localhost や3306 の確認 |
7. おわりに:JDBCはJava×DB開発の基本スキル
JDBCをマスターすれば、業務システム開発や個人アプリ開発でも大きな武器になります。次のステップとしては、以下のような技術もおすすめです:
- Spring Boot+JPAによるORM化
- コネクションプールの導入(HikariCPなど)
- DBトランザクション管理の理解
補足:サンプルデータベースとテーブル作成SQL
CREATE DATABASE sampledb;
USE sampledb;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);