64일차

김윤정·2024년 9월 13일

코딩

목록 보기
53/60

emp 사원정보를 입력하고 list에 나오게하시오

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>

0개의 댓글