JDBC
データベース論
第12回
きょうの内容
JDBCのプログラミングの基本を知る。
JDBCとは何か?
JDBCは、Javaを使ってリレーショナルデータベー
スを利用するためのAPI。
主に java.sql パッケージと javax.sql パッケージ
に納められている。
JDBCプログラミングの基本パターン
1.
データベースとの接続の確立
2.
SQLの実行
3.
Connection オブジェクトを取得
Statement オブジェクトを取得し、SQL文を実行
SQLの実行結果の処理
ResultSet オブジェクトのデータを取り出す
データベースとの接続の確立 (1)
必要な情報とJDBCドライバ
Connection オブジェクトを取得するのが目標
次の情報が必要になる
–
–
–
JDBCドライバ
データベースの URL
データベースにアクセスするユーザ名とパスワード
JDBCドライバ
–
データベース管理システム (DBMS) に固有の処理をま
とめたもの
データベースとの接続の確立 (2)
プログラムの流れ
// JDBCドライバの指定
Class.forName("org.hsqldb.jdbcDriver");
// URL の指定
String url = "jdbc:hsqldb:hsql://localhost";
// Connection オブジェクトを取得
Connection con =
DriverManager.getConnection(url, "sa", "");
データベースとの接続の確立 (3)
Connection オブジェクトの取得方法
JDBCドライバの利用
–
「JNDI」というネームサービスの利用
–
いちばん一般的な方法
J2EEでは一般的
Connection Pooling の利用
–
Connection の取得は「重い」処理なので、あらかじめい
くつかのConnection をあらかじめ取得しておいてため
ておく
SQL の実行 (1)
必要なインタフェース
Connection を取得したら、次のいずれかのインタ
フェースを使ってSQLを実行する。
–
–
Statement
PreparedStatement
SQL の実行 (2)
Statement を使った例
// SQL文
String select = "select title from books";
// Statement の取得
Statement stmt = con.createStatement();
// SQLの実行 (結果は ResultSet に)
ResultSet rs = stmt.executeQuery(select);
SQL の実行 (3)
PreparedStatement を使った例
// SQL文
String insert = "insert into books
values( ? , ? , ? , ? , ? , ? )";
// SQL文を設定しておく
PreparedStatement st = con.prepareStatement(insert);
// パラメータに値を設定
st.setString(1, ndc); st.setString(2, tyosya_hyouji);
// SQL文を実行 (select文なら executeQuery)
int result = st.executeUpdate();
st.close();
SQL の実行 (4)
PreparedStatement とパラメータ
String insert = "insert into books
values( ? , ? , ? , ? , ? , ? )";
・・・・・・
// 1番目の“?” に対応
st.setString(1, ndc);
// 2番目の“?” に対応
st.setString(2, tyosya_hyouji);
SQL の実行 (5)
データベースの検索と更新
// 検索 (select) の場合
ResultSet rs =
stmt.executeQuery(selectStatement);
// 更新 (insert, update, delte) の場合
// result には更新された行数が返る
int result = prepStmt.executeUpdate();
SQLの実行結果の処理
プログラムの流れ
// ResultSet には複数の検索結果が返る
while (rs.next()) {
// 1行分の検索結果のうち、
// “title” という項目のデータを返す
String title = rs.getString("title");
System.out.println(title);
}
プログラムのコンパイルと実行
実行時にはデータベースが立ち上がっている必要
あり。
JDBCドライバが含まれる Jar ファイルを指定する
必要あり。
java –classpath
%HSQLDB_HOME%\lib\hsqldb.jar;.
JDBCTest
© Copyright 2026 ExpyDoc