JavaのJDBCとは?Javaからデータベースを操作する基本の考え方

本記事は、Schooの「Java入門 中級【2026年版】」第1回「エンタープライズアプリケーションとデータベース処理」を学ぶ前後に、Javaからデータベースを扱う基本イメージを整理したい方向けの記事です。
中級では、Javaの中だけで値を扱う段階から、データベースに保存されたデータを読み書きする段階に進みます。ここで出てくる代表的な仕組みが JDBC です。
この記事では、細かい準備手順ではなく、JavaプログラムからデータベースにSQLを送り、結果を受け取る流れを具体例で確認します。
Schoo コースページ:Java入門 中級【2026年版】
JDBCは何のために使うのか
JDBC は、Javaからデータベースを操作するための仕組みです。Javaのコードだけでは、データベースの表に直接命令できません。そこで、JDBCを使ってデータベースに接続し、SQLを送ります。
まずは、Java側でSQLを書き、そのSQLでデータベースの表から何を取り出すのかを見るところから始めます。
SQLはデータベースへのお願い
SQLは、データベースに対して「このデータを取り出して」「このデータを追加して」とお願いするための言葉です。
SELECT id, title, artist FROM songs
このSQLは、songs という表から、id、title、artist の列を取り出す命令です。
SELECT処理の全体の流れ
JDBCで検索処理を書くときは、次の流れで考えます。
最初からすべてのクラス名を覚えようとすると難しく見えます。まずは、処理の順番を「つなぐ」「送る」「読む」「閉じる」に分けて見るのがポイントです。
JDBCで出てくる主な部品
JDBCのサンプルでは、Connection、Statement、ResultSet という名前がよく出てきます。
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
Connection はデータベースとの接続、Statement はSQLを実行する部品、ResultSet はSELECTの結果を受け取る部品です。
ResultSetは検索結果を1行ずつ読む
SELECTの結果は、まとめて文字列として返ってくるわけではありません。ResultSet に入った検索結果を、while と rs.next() で1行ずつ読みます。
while (rs.next()) {
int id = rs.getInt("id");
String title = rs.getString("title");
String artist = rs.getString("artist");
System.out.println(title + " / " + artist);
}
rs.next() は、次の行へ進めるかを確認する処理です。次の行があれば true になり、その行の値を getInt や getString で取り出せます。
データベース処理では最後に閉じることも大切
データベースに接続したら、使い終わったあとに閉じる必要があります。接続や検索結果を開いたままにすると、不要な資源を使い続けることになります。
そのため、JDBCのコードでは close() や try-with-resources が出てきます。これは、データベース処理が終わったあとに後片付けをするための考え方です。
確認問題
- JDBCは、Javaプログラムと何をつなぐための仕組みですか。
SELECT id, title, artist FROM songsは、どのような命令ですか。ResultSetは、何を扱うための部品ですか。
演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。
あわせて読みたい関連記事
- Javaのtry-catchとは?例外が起きたときの処理の流れを理解する
- Javaのfinallyとは?例外が起きても必ず実行される処理
- Javaのwhile文とfor文の違いとは?繰り返し処理の使い分けを理解する
まとめ
JDBCは、Javaからデータベースを操作するための仕組みです。JavaプログラムはJDBCを通してSQLを送り、データベースから返ってきた結果を ResultSet で1行ずつ読み取ります。まずは、「つなぐ」「SQLを送る」「結果を読む」「閉じる」という全体の流れを押さえましょう。