ÃֽŠ°Ô½Ã±Û(JAVA)
2017.04.27 / 19:36

JSP + MyBatis3 Æ®·£Àè¼Ç ó¸®

Scoda
Ãßõ ¼ö 175

¼ö¸¹Àº ÀϵéÀ» ÇÏ´Ùº¸¸é DB¿¡ Á¢±ÙÇÏ¿© ¿¬¼Ó¼º ÀÖ°Ô insert, delete, update µîÀ» ¼öÇàÇØ¾ß ÇÒ ÀϵéÀÌ ÀÖ´Ù.

À̶§ Ưº°ÇÑ Å« »çÀ¯°¡ ¾Æ´Ï¸é ÁÖ·Î Æ®·£Àè¼Ç 󸮸¦ ÇÏ°Ô µÇ´Âµ¥, ÀÌ Æ®·£Àè¼ÇÀ̶ó´Â°ÍÀ» °£´ÜÇÏ°Ô ¼³¸íÇϸé
DB ³»¿¡¼­ ÇѲ¨¹ø¿¡¼­ 󸮵Ǿî¾ß ÇÒ ÀϵéÀ» Çϳª·Î ¹­´Â°ÍÀ» ¾ê±âÇÑ´Ù.

Áï, Çѹø¿¡ ƯÁ¤ ·ÎÁ÷³»¿¡¼­ 󸮵Ǿî¾ß ÇÒ insert¿Í update°¡ ÀÖ´Ù°í °¡Á¤ÇÒ¶§ ÀÌ ÀϵéÀº ¼øÂ÷ÀûÀ¸·Î ÁøÇàµÇÁö¸¸
¼øÂ÷ÀûÀÎ insert, update °úÁ¤À» ÇϳªÀÇ job À¸·Î º¸°í ±×Áß¿¡¼­ 1°³¶óµµ ¿À·ù°¡ ¹ß»ý½Ã ÇØ´ç jobÀ» Ãë¼ÒÇÑ´Ù.


¿¹¸¦ µé¸é ¾î¶² ·ÎÁ÷¿¡¼­ ¼øÂ÷ÀûÀ¸·Î A ¶ó´Â Å×ÀÌºí¿¡ insert¸¦ ÁøÇàÇÏ°í insert°¡ ¿Ï·áµÇ¸é B¶ó´Â Å×À̺íÀÇ µ¥ÀÌÅ͸¦ »èÁ¦ÇÑ´Ù°í Ä¡ÀÚ.
A¶ó´Â Å×ÀÌºí¿¡ insert´Â ¼º°øÀûÀ¸·Î µÇ¾ú´Ù. ÇÏÁö¸¸ B¶ó´Â Å×ÀÌºí¿¡¼­ delete¸¦ ÇÏ´øÁß ¿À·ù°¡ ¹ß»ýÇϸé,
ÀÌ Æ®·£Àè¼Ç 󸮸¦ ÇÑ °æ¿ì A Å×À̺íÀÇ insert µÇ¾ú´ø ³»¿ëµÈ Ãë¼Ò¸¦ ½ÃŲ´Ù. Áï. ¾Õ¼­ ¾î¶°ÇÑ ÀϵéÀÌ ¼º°øÇß´õ¶óµµ ¹«È¿È­ µÇ´Â¼ÀÀÌ´Ù.


Æ®·£Àè¼Ç 󸮸¦ ÇÏÁö ¾ÊÀ»°æ¿ì, B Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ delete ÇÏ´ÂÁß ¿¡·¯°¡ ¹ß»ýÇÒ °æ¿ì A Å×ÀÌºí¿¡ µ¥ÀÌÅÍ´Â ±×´ë·Î ³²°Ô µÈ´Ù.



±×·¯¸é myBatis¿¡¼­ Æ®·£Àè¼Ç ó¸® ÇÏ´Â ¹æ¹ýÀ» º¸ÀÚ. 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.test.sqlMap.SqlSessionManager"%>
<%@page import="org.apache.ibatis.session.SqlSessionFactory"%>
<%@page import="org.apache.ibatis.session.SqlSession"%>
 
<%@page import="java.util.*"%>
 
<%
 
    SqlSessionFactory sqlSessionFactory = SqlSessionManager.getSqlSession();
    SqlSession sqlSession = sqlSessionFactory.openSession();
     
    try{
         
         
         
        HashMap pHm = new HashMap();
        pHm.put("name""È«±æµ¿") ;
        pHm.put("age""28") ;
         
         
        // Insert
        sqlSession.insert("Test.insContents", pHm) ;
         
        // Update
        sqlSession.update("Test.updateContents", pHm) ;
         
         
        // Ä¿¹Ô
        sqlSession.commit() ;
         
    }catch(Exception e){
         
        // ·Ñ¹é
        sqlSession.rollback() ;
         
        e.printStackTrace() ;
    }finally{
        sqlSession.close() ;
    }
     
     
     
%>


Á¤»óÀûÀ¸·Î ¸ðµç ±¸¹®ÀÌ ¼öÇàµÇ¸é commit À» ÇØÁÖ´Â °ÍÀÌ°í, ½ÇÆÐÇÏ¿© Exception ¿¡ °É¸±°æ¿ì rollback ÇØÁÖ´Â °ÍÀÌ´Ù.

ibatis2 ½ÃÀý¿¡´Â startTransaction ÀÌ¿´´ø°¡ ÇÏ´Â ±¸¹®À» óÀ½ ½ÇÇàÇØ ÁÖ¾ú¾î¾ß Çߴµ¥, 

myBatis·Î ¹öÀü¾÷ µÇ°í³ª¼± ÇØ´ç ±¸¹®ÀÌ ºüÁ³´Ù.



Ãâó: http://fruitdev.tistory.com/31 [°úÀÏ°¡°Ô °³¹ßÀÚ]