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