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