当社 の新人エンジニア研修向けのJSP Servletの問題集です。
1 以下のソースコードの①~⑤を埋めなさい。
あなたは、社員の給与台帳のシステムを作成しています。
給与台帳は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の接続情報は講師から入手してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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ブラウザで表示する)