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 2025 ExpyDoc