MyBatis 개요 및 예제


오늘의 예제는 MyBatis에 관한 얘기입니다.
MyBatis는 개발자가 지정한 SQL이나 저장 프로시저 및 몇몇 고급 매핑을 지원하는 퍼시스턴스 프레임워크로서 기존의 JDBC 코드와 수동으로 세팅하는 파라미터와 결과 매핑을 제거합니다.
그래서 기존의 JDBC를 활용하는 방식은 코드 안에 SQL 문을 작성하였지만 MyBatis를 활용하면 SQL 문을 아예 분리하여 별도의 XML 파일에 저장하여 활용하게 됩니다. 따라서 기존의 JDBC를 활용할 때 편리하긴 하지만 그래도 SQL 문을 매 파일마다 쳐야 되는 상황에서 부담이 줄어든다고 할 수 있습니다. 또한 SQL문을 수정해야 된다면 JDBC는 입력된 코드를 전부 고쳐야만 했지만 MyBatis는 XML 파일만을 수정하면 되기 때문에 편리합니다. 아래처럼 별도의 XML에 파일에 SQL문을 저장하게 됩니다.


예제에서는 MyBatis를 활용하여 db를 불러오고 수정, 삭제하는 기능을 구현하고 있습니다.
아래 코드는 많은 관계로 리스트 코드와 추가 코드만 올리겠습니다. 전체 파일은 Github에서 확인해주세요.
MyBatis 자체의 자세한 사용법 및 설치 내용은 바로가기 를 참고해주세요.


<시작▼ | 파일명 : sangpum_list.jsp >
<%@page import="pack.business.DataDto"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="processDao" class="pack.business.ProcessDao"/>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>상품자료</title>
</head>
<body>
<h2> ** 상품 자료 (MyBatis) ** </h2>
<a href="sangpum_ins.html">신상품 추가</a>
<Br>
<b>코드 클릭 시 삭제, 품명 클릭 시 수정 하기</b>
<% ArrayList<DataDto> list = (ArrayList)processDao.getDataAll(); %>
<table border="1">
     <tr><th>code</th><th>sang</th><th>su</th><th>dan</th></tr>
     <c:forEach var="s" items="<%=list %>">
     <tr>
          <td><a href="sangpum_del.jsp?code=${s.code}">${s.code}</a></td>
          <td><a href="sangpum_up.jsp?code=${s.code}">${s.sang}</td>
          <td>${s.su}</td>
          <td>${s.dan}</td>
     </tr>
     </c:forEach>
</table>
</body>
</html>
<▲종료▲ | 파일명 : sangpum_list.jsp >

<시작▼ | 파일명 : sangpum_ins.html >
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
** 상품 추가 **<p/>
<form action="sangpum_insok.jsp" method="post">
코드 : <input type="text" name="code"><br>
품명 : <input type="text" name="sang"><br>
수량 : <input type="text" name="su"><br>
단가 : <input type="text" name="dan"><br>
<br>
<input type="submit" value="등록">
</form>
</body>
</html>
<▲종료▲ | 파일명 : sangpum_ins.html >

<시작▼ | 파일명 : sangpum_insok.jsp >
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("utf-8"); %>
<jsp:useBean id="bean" class="pack.business.DataFormBean"></jsp:useBean>
<jsp:setProperty property="*" name="bean"/>
<jsp:useBean id="processDao" class="pack.business.ProcessDao"/>
<%
processDao.insData(bean); //mybatis call
response.sendRedirect("sangpum_list.jsp");
%>
<▲종료▲ | 파일명 : sangpum_insok.jsp >


[ 결과 이미지]




[Github 안내] 
- Github에서 파일을 확인하시려면 바로가기를 눌러주세요.
- 해당 예제는espriter_blog_mybatis_web 에 있습니다.


본 포스팅은 KIC 캠퍼스에서 박영권 강사의 지도하에 공부하며 작성한 리포트입니다.
혹시 잘못된 내용이 있거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.



댓글(0)

Designed by JB FACTORY