
EmpController
@Slf4j
@Controller
@RequestMapping("/emp")
public class EmpController {
@Autowired
private EmpService empService;
@Autowired
private DeptService deptService;
@GetMapping("/list")
public String list(Model model) {
System.out.println("list()..");
model.addAttribute("empList", empService.getList());
return "emp/list";
}
@GetMapping("/insert_view")
public String insert_view(Model model) {
System.out.println("insert_view()..");
model.addAttribute("empList", empService.getList());
model.addAttribute("deptList", deptService.getList());
return "emp/insert";
}
@PostMapping("/insert")
public String insert(EmpVO empVO) {
System.out.println("insert()..");
System.out.println(empVO);
empService.insert(empVO);
return "redirect:/emp/list";
}
}
EmpService
@Autowired
private EmpMapper empMapper;
public List<EmpVO>getList(){
System.out.println("getList()..");
return empMapper.getList();
}
public int insert(EmpVO emoVO) {
System.out.println("insert() ..");
return empMapper.insert(emoVO);
}
EmpMapper
@Mapper
public interface EmpMapper {
public List<EmpVO>getList();
public int insert(EmpVO empVO);
}
EmpMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="edu.ict.ex.mapper.EmpMapper">
<select id="getList" resultType="edu.ict.ex.vo.EmpVO">
select * from emp order by empno
</select>
<!-- INSERT INTO EMP VALUES (1111,'홍길동','CLERK',7369,'2024-09-24', 800,8000,10); -->
<insert id="insert">
INSERT INTO EMP VALUES
(#{empno},#{ename},#{job},#{mgr},#{hiredate2},#{sal},#{comm},#{deptno})
</insert>
</mapper>
insert.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>사원 정보 입력</h1>
<form action="/emp/insert" method="post">
사번:<input type="text" name="empno"><br>
이름:<input type="text" name="ename"><br>
직업:<input type="text" name="job"><br>
메니저:
<select name="mgr">
<c:forEach var="emp" items="${empList}">
<option value="${emp.empno}">(${emp.empno})${emp.ename}</option>
</c:forEach>
</select><br>
입사일:<input type="text" name="hiredate2"><br>
급여:<input type="text" name="sal"><br>
커미션:<input type="text"name="comm"><br>
부서:
<select name="deptno">
<c:forEach var="dept" items="${deptList}">
<option value="${dept.deptno}">(${dept.deptno})${dept.dname}</option>
</c:forEach>
</select><br>
<input type="submit" value="전송">
</form>
</body>
</html>
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>emp 리스트</h1>
<table width="50%" border="1">
<tr>
<td>사원번호</td>
<td>사원이름</td>
<td>직업</td>
<td>매니저</td>
<td>입사일자</td>
<td>급여</td>
<td>보너스</td>
<td>부서번호</td>
</tr>
<c:forEach var="emp" items="${empList}">
<tr>
<td>${emp.empno}</td>
<td>${emp.ename}</td>
<td>${emp.job}</td>
<td>${emp.mgr}</td>
<td>${emp.hiredate}</td>
<td><fmt:formatNumber value="${emp.sal}" type="number"/></td>
<td>${emp.comm}</td>
<td>${emp.deptno}</td>
</tr>
</c:forEach>
</table>
</body>
</html>