弊社の新人エンジニア研修向けの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ブラウザで表示する)