| Index ソフト・ハード Java | mvcSample |
model.dao.ConnectionManager.java
package model.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionManager {
private final static String URL = "jdbc:postgresql://localhost:5432/mydb";
private final static String USER = "postgres";
private final static String PASSWORD = "xxxxxxxx";
// private final static String URL = "jdbc:mysql://localhost:3306/sampledb";
// private final static String USER = "userU";
// private final static String PASSWORD = "userP";
public static Connection getConnection() throws SQLException, ClassNotFoundException {
// JDBCドライバの読み込み
Class.forName("org.postgresql.Driver");
// Class.forName("com.mysql.cj.jdbc.Driver");
return DriverManager.getConnection(URL, USER, PASSWORD);
}
}
model.dao.EmployeeDAO.java
package model.dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import model.entity.EmployeeBean;
public class EmployeeDAO {
public List<EmployeeBean> selectAll() throws SQLException, ClassNotFoundException {
List<EmployeeBean> employeeList = new ArrayList<EmployeeBean>();
// データベースへの接続の取得、Statementの取得、SQLステートメントの実行
try (Connection con = ConnectionManager.getConnection();
Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery("SELECT * FROM m_employee")) {
// 結果の操作
while (res.next()) {
String code = res.getString("code");
String name = res.getString("name");
int age = res.getInt("age");
String section = res.getString("section");
EmployeeBean employee = new EmployeeBean();
employee.setCode(code);
employee.setName(name);
employee.setAge(age);
employee.setSection(section);
employeeList.add(employee);
}
}
return employeeList;
}
}
model.entity.EmployeeBean.java
package model.entity;
import java.io.Serializable;
public class EmployeeBean implements Serializable {
private String code;
private String name;
private int age;
private String section;
public EmployeeBean() {
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSection() {
return section;
}
public void setSection(String section) {
this.section = section;
}
}
servlet.EmployeeListServlet.java
package servlet;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.dao.EmployeeDAO;
import model.entity.EmployeeBean;
@WebServlet("/employee-list-servlet")
public class EmployeeListServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public EmployeeListServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<EmployeeBean> employeeList = null;
// DAOの生成
EmployeeDAO dao = new EmployeeDAO();
try {
// DAOの利用
employeeList = dao.selectAll();
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
}
// リクエストスコープへの属性の設定
request.setAttribute("employeeList", employeeList);
// リクエストの転送
RequestDispatcher rd = request.getRequestDispatcher("employee-list.jsp");
rd.forward(request, response);
}
}
employee-list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.List,model.entity.EmployeeBean"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>従業員情報 一覧</title>
</head>
<body>
<%
List<EmployeeBean> employeeList = (List) request.getAttribute("employeeList");
%>
<table>
<tr>
<th>コード</th>
<th>氏名</th>
<th>年齢</th>
<th>部署</th>
</tr>
<%
for (EmployeeBean employee : employeeList) {
%>
<tr>
<td><%=employee.getCode()%></td>
<td><%=employee.getName()%></td>
<td><%=employee.getAge()%></td>
<td><%=employee.getSection()%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
menu.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>メニュー</title>
</head>
<body>
<form action="employee-list-servlet" method="POST">
<input type="submit" value="一覧表示">
</form>
</body>
</html>
|
| All Rights Reserved. Copyright (C) ITCL | |