JDBC J2EE I (データベース論) 第5回 / 2004-05-19 お知らせ 6月9日(水)の授業は、安藤が出張のため、 休講の予定です。 第1回レポート課題を出します。締め切り は6月16日(水)です。 きょうの内容 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 2024 ExpyDoc