JDBC接続のためのJava Bean実装の作成

JdbcBeanImpl.javaは、JdbcBean.javaで宣言されたすべてのメソッドを実装する実装クラスです。

クラス名: src/main/java/com/oracle/jdbc/samples/bean/JdbcBeanImpl.java

Githubの場所: JdbcBeanImpl.java

JdbcBeanImpl.javaを作成するステップ:

  1. メソッドgetConnection()を作成して、データベースへの接続を確立します。接続文字列、データベース・ユーザー名およびデータベース・パスワードを更新して、データベースを指すようにします。
    1. JavaBean.javaクラスのパッケージを宣言します。従業員の詳細を含むEmployeeクラスをインポートします。
      
      package com.oracle.jdbc.samples.bean;
      import com.oracle.jdbc.samples.entity.Employee;
    2. 次のコード・スニペットに示すように、他の依存クラスをインポートします。特定のクラスがインポートされない場合、IntelliJにより、必要なパッケージのインポートを促すメッセージが表示されます。
      import java.sql.*;
      import java.util.ArrayList;
      import java.util.List;
      import java.util.logging.Level;
      import java.util.logging.Logger;
      
      import java.sql.PreparedStatement;
      import oracle.jdbc.OracleStatement;
      import oracle.jdbc.OracleConnection;
      import oracle.jdbc.driver.OracleDriver;
      import oracle.jdbc.OracleTypes;
      import java.sql.PreparedStatement;
      import oracle.jdbc.OracleStatement;
      import oracle.jdbc.OracleConnection;
      
      import oracle.ucp.jdbc.PoolDataSourceFactory;
      import oracle.ucp.jdbc.PoolDataSource;
      
    3. JavaBeanを実装するJavaBeanImplクラスを宣言します。
      public class JavaBeanImpln implements JavaBean {  }
    4. JavaBeanImplクラス内で、例外を記録するロガーを作成します。
      static final Logger logger = Logger.getLogger("com.oracle.jdbc.samples.bean.JdbcBeanImpl");
    5. JavaBeanImplクラス内で、staticメソッドgetConnection()を宣言します。getConection()メソッドは、ドライバを登録し、次のコード・スニペットに示すように、接続文字列、データベース・ユーザー名およびデータベース・パスワードを渡してデータベース接続を確立します。
      
      public static Connection getConnection() throws SQLException {
        DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
        Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@//myorclhost:5521/myorcldbservice", "hr", "hr");
        return connection;
      }
  2. メソッドgetEmployees()を作成して、EMPLOYEES表から従業員のリストを取得します。EMPLOYEES表から目的の列を選択して、使用するSELECT問合せを更新します。
    1. JavaBeanImplクラス内で、getEmployees()メソッドを宣言します。
    2. tryおよびcatchブロックを使用して、データベース接続を確立し、SQL SELECT文を使用して従業員の詳細をフェッチします。
    3. 従業員の詳細を配列returnValueに格納します。
    4. SQLExceptionを捕捉し、ロガーにメッセージを記録します。
    
    public List<Employee> getEmployees() {
      List<Employee> returnValue = new ArrayList<>();
      try (Connection connection = getConnection()) {
         try (Statement statement = connection.createStatement()) {
             try (ResultSet resultSet = statement.executeQuery("
                  SELECT Employee_Id, First_Name, Last_Name, Email, Phone_Number, Job_Id, Salary 
                   FROM EMPLOYEES")) {
                while(resultSet.next()) {
                  returnValue.add(new Employee(resultSet));
                }
            }
          }
      } catch (SQLException ex) {
    logger.log(Level.SEVERE, null, ex);
        ex.printStackTrace();
      }
    
    return returnValue;
    }

ノート:

このトピックでは、すべてリスト機能の実装メソッドを追加する方法について説明します。同様に、HR Webアプリケーションの他の機能のためのgetEmployeeupdateEmployeegetEmployeeByFnおよびincrementSalary実装メソッドの追加について、次の各章で学習します。