프로그래밍/Spring
Spring Mybatis CRUD Test
커피코더
2018. 3. 19. 22:15
반응형
Spring에서 Mybatis를 이용하여 CRUD를 적용하는 간단한 예제를 작성하고자 한다.
CRUD의 의미는 아래 위키백과를 참고하면 될듯하다.
그외 Spring 관련 이론은 구글에서 여러 사이트를 참고하자.
먼저 지난번 만들었던 mapper파일에 아래와 같이 작성한다.
MySQL의 샘플DB(sakila)의 ACTOR 테이블에 대한 CRUD 쿼리문을 테스트 예제로 작성하였다.
<insert id="createTest"> INSERT INTO ACTOR(ACTOR_ID, FIRST_NAME, LAST_NAME, LAST_UPDATE) VALUES(201, 'TEST', 'INSERT', NOW()) </insert> <select id="selectTest" resultType="map"> SELECT ACTOR_ID, FIRST_NAME, LAST_NAME, LAST_UPDATE FROM ACTOR WHERE ACTOR_ID = 201 </select> <update id="updateTest"> UPDATE ACTOR SET LAST_NAME = 'UPDATE', LAST_UPDATE = NOW() WHERE ACTOR_ID = 201 </update> <delete id="deleteTest"> DELETE FROM ACTOR WHERE ACTOR_ID = 201 </delete>
DAO 파일을 작성한다.
@Repository public class TestDAO { @Autowired SqlSession sqlSession; public void createTest() { sqlSession.insert("testMapper.createTest"); } public HashMap selectTest() { return sqlSession.selectOne("testMapper.selectTest"); } public void updateTest() { sqlSession.update("testMapper.updateTest"); } public void deleteTest() { sqlSession.delete("testMapper.deleteTest"); } }
Service 파일을 작성한다.
@Service public class TestService { @Autowired TestDAO testDao; public void createTest() { testDao.createTest(); } public HashMap selectTest() { return testDao.selectTest(); } public void updateTest() { testDao.updateTest(); } public void deleteTest() { testDao.deleteTest(); } }
Controller 파일을 작성한다.
@Controller public class TestController { @Autowired TestService testService; @RequestMapping("/crudTest.do") public ModelAndView crudTest(HttpServletRequest request) { ModelAndView mav = new ModelAndView("crudTest"); String crudP = request.getParameter("param"); crudP = crudP != null ? crudP : ""; if(crudP.equals("create")) { testService.createTest(); }else if(crudP.equals("update")) { testService.updateTest(); }else if(crudP.equals("delete")) { testService.deleteTest(); } HashMap hm = testService.selectTest(); mav.addObject("SelectObject", hm); return mav; } }
JSP View 파일을 작성한다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="/example/crudTest.do"><input type="hidden" name="param" value="create"/> <input type="submit" value="Create Test" /></form><br/> <form action="/example/crudTest.do"><input type="hidden" name="param" value="update"/> <input type="submit" value="Update Test" /></form><br/> <form action="/example/crudTest.do"><input type="hidden" name="param" value="delete"/> <input type="submit" value="Delete Test" /></form><br/> Select Test <br/> <table border=1> <thead> <tr> <th>ACTOR_ID</th><th>FIRST_NAME</th><th>LAST_NAME</th><th>LAST_UPDATE</th> </tr> </thead> <tbody> <tr> <td>${SelectObject.ACTOR_ID}</td><td>${SelectObject.FIRST_NAME}</td> <td>${SelectObject.LAST_NAME}</td><td>${SelectObject.LAST_UPDATE}</td> </tr> </tbody> </table> </body> </html>
WAS를 실행하고 해당 URL을 호출하면 아래 처럼 CRUD 테스트를 확인 할 수 있다.
반응형