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

 

JavaWebアプリケーションの問題集に戻る