弊社の新人エンジニア研修向けのJSP Servletの問題集です。
1.DAOクラス
以下のソースコードの①~⑤を埋めなさい。
あなたは、社員の給与台帳のシステムを作成しています。
給与台帳はMySQLデータベースに格納されています。
そこで、あなたは、employee一人分を表すDTOクラスとデータベースにアクセスする役割のDAOクラスを作るように設計しました。
<出力例>
1:imai:10000000
2:Yancy Jakovijevic:2000
3:Dori Daveridge:3000
4:Lexie Baylay:4000
5:Laurena MacKessock:5000
(以下省略)
<データベースのテーブル構造>

<ソースコード① DAO> a~cの接続情報は講師から入手してください。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class EmployeeDao {
private static final String URL = "/*a*/";
private static final String ID = "/*a*/";
private static final String PASS = "/*a*/";
private static final String SQL
= "select * from employee;";
public List</*①*/> selectAll() {
List<EmployeeDto> employeeList = new ArrayList<>();
try (Connection con
= DriverManager.getConnection(URL, ID, PASS);
PreparedStatement ps = con.prepareStatement(SQL)) {
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
/*②*/ ed = new /*②*/();
ed.setId(rs.getInt("EmployeeNo"));
ed.setName(rs.getString("EmployeeName"));
ed.setSalary(rs.getInt("salary"));
/*③*/.add(ed);
}
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
}
return employeeList;
}
}
<ソースコード② DTO>
public class EmployeeDto {
private int id;
private String name;
private int salary;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return /*④*/;
}
public void setSalary(int salary) {
/*⑤*/ = salary;
}
}
<ソースコード③ Main.java>
import java.util.List;
public class Main {
public static void main(String[] args) {
EmployeeDao ed = new EmployeeDao();
List<EmployeeDto> led = ed.selectAll();
for (EmployeeDto em : led) {
System.out.print(em.getId() + ":" + em.getName() + ":" + em.getSalary());
System.out.println("");
}
}
}
2.Webアプリ化
上記プログラムをWebアプリケーションにしなさい。(Webブラウザで表示する)