7 従業員レコードの更新
Employee Java Beanを作成します。
クラス名:
src/main/java/com/oracle/jdbc/samples/entity/Employee.java
この例で作成したEmployee.java
ファイルを使用します。
7.1 Java Beanで、従業員の名による検索に必要なメソッドを作成
前の課題で作成したEmployee.javaを使用します。
クラス名:
src/main/java/com/oracle/jdbc/samples/bean/JdbcBean.java
新しいメソッドgetEmployeeByFn(String fn);
をBeanに作成します
従業員名で検索するためのメソッドを作成するコードを次に示します。
/**
* Get List of employees by First Name pattern
* @param fn
* @return List of employees with given beginning pattern
*/
public List<Employee> get EmployeeByFn(String fn);
7.2 従業員名による検索のためのgetEmployeebyFn()
メソッドの実装
クラス名:
src/main/java/com/oracle/jdbc/samples/bean/JdbcBeanImpl.java
最初の手順で作成したgetConnection()
メソッドを使用して、同じデータベースに接続します。
次に、従業員の名に基づいてgetEmployeeByFn()メソッドの従業員データを作成します。
SELECT Employee_Id, First_Name, Last Name, Email, Phone_Number, Job_Id, Salary FROM EMPLOYEES
WHERE First_Name LIKE ?
public List<Employee> getEmployeeByFn(String fn) {
List<Employee> returnValue = new ArrayList<>();
public List<Employee> getEmployeeByFn(String fn) {
List<Employee> returnValue = new ArrayList<>();
try (Connection connection = getConnection()) {
try (PreparedStatement preparedStatement = connection.prepareStatement(
"SELECT Employee_Id, First_Name, Last_Name, Email, Phone_Number, Job_Id, Salary FROM
EMPLOYEES WHERE First_Name LIKE ?")) {
preparedStatement.setString(1, fn + '%');
try (ResultSet resultSet = preparedStatement.executeQuery()) {
while(resultSet.next()) {
returnValue.add(new Employee(resultSet));
}
}
}
} catch (SQLException ex) {
logger.log(Level.SEVERE, null, ex);
ex.printStackTrace();
}
return returnValue;
}