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