JDBC接続のためのJava Bean実装の作成
JdbcBeanImpl.java
は、JdbcBean.java
で宣言されたすべてのメソッドを実装する実装クラスです。
クラス名: src/main/java/com/oracle/jdbc/samples/bean/JdbcBeanImpl.java
Githubの場所: JdbcBeanImpl.java
JdbcBeanImpl.javaを作成するステップ:
- メソッド
getConnection()
を作成して、データベースへの接続を確立します。接続文字列、データベース・ユーザー名およびデータベース・パスワードを更新して、データベースを指すようにします。JavaBean.java
クラスのパッケージを宣言します。従業員の詳細を含むEmployee
クラスをインポートします。package com.oracle.jdbc.samples.bean; import com.oracle.jdbc.samples.entity.Employee;
- 次のコード・スニペットに示すように、他の依存クラスをインポートします。特定のクラスがインポートされない場合、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;
JavaBean
を実装するJavaBeanImpl
クラスを宣言します。public class JavaBeanImpln implements JavaBean { }
JavaBeanImpl
クラス内で、例外を記録するロガーを作成します。static final Logger logger = Logger.getLogger("com.oracle.jdbc.samples.bean.JdbcBeanImpl");
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; }
- メソッド
getEmployees()
を作成して、EMPLOYEES
表から従業員のリストを取得します。EMPLOYEES
表から目的の列を選択して、使用するSELECT
問合せを更新します。JavaBeanImpl
クラス内で、getEmployees()
メソッドを宣言します。try
およびcatch
ブロックを使用して、データベース接続を確立し、SQLSELECT
文を使用して従業員の詳細をフェッチします。- 従業員の詳細を配列
returnValue
に格納します。 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アプリケーションの他の機能のためのgetEmployee
、updateEmployee
、getEmployeeByFn
およびincrementSalary
実装メソッドの追加について、次の各章で学習します。