SPRING
2020.10.21 / 10:50

¸¶À̹ÙƼ½º(MyBatis) Äõ¸® ·Î±× Ãâ·Â ¹× Á¤·ÄÇϱâ

Ãß¼®µ¹ÀÌ
Ãßõ ¼ö 229
¸¶À̹ÙƼ½º(MyBatis) Äõ¸® ·Î±× Ãâ·Â ¹× Á¤·ÄÇϱâ

¸¶À̹ÙƼ½º¸¦ ÀÌ¿ëÇÏ¿© °³¹ßÀ» ÇÏ´Ùº¸¸é Äõ¸®°¡ º¸ÀÌÁö ¾Ê°Å³ª, ÆĶó¹ÌÅÍ°¡ ¾È³ª¿À°Å³ª °³Ç๮ÀÚ(\n) µîÀÌ ¹«½ÃµÇ¸é¼­ ÇÑÁÙ·Î ÂÞ~~~~¿í ³ª¿Í¼­ ºÒÆíÇÑ °æ¿ì°¡ ¸¹½À´Ï´Ù.


ÀÌ·¯ÇÑ °æ¿ì¿¡´Â °³¹ßÇϸ鼭 ºÒÆíÇÑ°Ô Çѵΰ¡Áö°¡ ¾Æ´Ñµ¥, Äõ¸®¸¦ ÀÌ»Ú°Ô Á¤·ÄÇؼ­ º¸±âÁÁ°Ô ÇÏ´Â ¹æ¹ýÀ» º¸°Ú½À´Ï´Ù.


1. ¸ÞÀ̺쿡 ¶óÀ̺귯¸® Ãß°¡

pom.xmlÀ» ¿­¾î¼­ ´ÙÀ½°ú °°Àº ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù. 

<dependency>
	<groupId>org.lazyluke</groupId>
	<artifactId>log4jdbc-remix</artifactId>
	<version>0.2.7</version>
</dependency>


2. log4j ¼³Á¤ º¯°æ

log4j.xmlÀ» ¿­¾î¼­ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

	<!-- Appenders -->
	<appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %5p [%c] %m%n" />
        </layout>   
    </appender>
    
    <appender name="console-infolog" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %5p %m%n" />
        </layout>   
    </appender>
	
	<!-- Application Loggers -->
	<logger name="first" additivity="false">
		<level value="debug" />
		<appender-ref ref="console"/>
	</logger>
	
	<!-- Query Loggers -->
	<logger name="jdbc.sqlonly" additivity="false">  
    	<level value="INFO"/>  
        <appender-ref ref="console-infolog"/>  
    </logger>
    
    <logger name="jdbc.resultsettable" additivity="false">  
    	<level value="INFO"/>  
        <appender-ref ref="console"/>  
    </logger>  

	<!-- Root Logger -->
	<root>
		<priority value="off"/>
		<appender-ref ref="console" />
	</root>
	
</log4j:configuration>
3. jdbc ¼³Á¤À» ´ÙÀ½°ú °°ÀÌ ¹Ù²ß´Ï´Ù.

Àú´Â context-datasource.xml¿¡ DB ¿¬°á¼³Á¤ÀÌ µÇ¾îÀÖ½À´Ï´Ù. (http://addio3305.tistory.com/62 ÂüÁ¶) 

¸¸¾à Àú¶û ´Ù¸£½ÅºÐµéÀº................ DB ¿¬°á¼³Á¤ÀÌ µÇ¾îÀÖ´Â ÆÄÀÏÀ» ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù.


context-datasource.xmlÀ» ¿­°í ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù. 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
						http://www.springframework.org/schema/jdbc  http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
    
    <bean id="dataSourceSpied" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
        <property name="username" value="¾ÆÀ̵ð"/>
        <property name="password" value="ºñ¹Ð¹øÈ£"/>
    </bean>
    
    <bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
		<constructor-arg ref="dataSourceSpied" />
		<property name="logFormatter">
			<bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter">
				<property name="loggingType" value="MULTI_LINE" />
				<property name="sqlPrefix" value="SQL         :  "/>
			</bean>
		</property>
	</bean>
</beans>

±âÁ¸¿¡´Â jdbc¸¦ ÀÌ¿ëÇÑ DB ¿¬°áÀ» dataSource¶ó´Â À̸§À¸·Î ¹Ù·Î »ç¿ëÇß¾ú½À´Ï´Ù. log4j-remix´Â ÀÌ·¯ÇÑ Äõ¸®¸¦ Áß°£¿¡ °¡·Îä¼­ 

ÀÌ»Ú°Ô Á¤·Ä½ÃÄÑÁÖ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.


À§¿¡¼­ º¸½Å°Íó·³ ±âÁ¸¿¡ DB¿Í ¿¬°áÇϴ°ÍÀº dataSourceSpied·Î º¯°æÇÏ°í, »õ·Î dataSource¸¦ ¸¸µé¾ú½À´Ï´Ù.

±×¸®°í ·Î±×ŸÀÔ°ú Äõ¸®¸¦ ¾î¶»°Ô Ãâ·ÂÇÒÁö¸¦ ¼³Á¤ÇØÁÖ¾ú½À´Ï´Ù. 


4. È®ÀÎÀ» Çغ¾½Ã´Ù.

ÀÌÁ¦ ¼³Á¤Àº ¸ðµÎ ¿Ï·á°¡ µÇ¾úÀ¸´Ï Á¤È®È÷ µ¿ÀÛÇÏ´ÂÁö º¸°Ú½À´Ï´Ù. 


¸ÕÀú, ±âÁ¸¿¡ log4j ¿Í log4j-remix°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ» °æ¿ìÀÔ´Ï´Ù.


³×.... ÂüÀ¸·Î Ⱦ~~~~ÇÑ ·Î±×âÀ̳׿ä -_-;



´ÙÀ½Àº ¸ðµÎ ¼³Á¤ÇÑ ÈÄÀÇ °á°úÀÔ´Ï´Ù.

³×!!! ¸¹ÀÌ ´Þ¶óÁ³½À´Ï´Ù.


»çÁø¿¡¼­ º¼¼öÀִ°Íó·³ 

1. Äõ¸®°¡ Á¤·ÄµÇ¾î ÀÌ»Ú°Ô Ãâ·ÂµÈ´Ù.

2. °á°ú°¡ À̻ڰԠǥ·Î ³ª¿Â´Ù. 

¸¦ ¾Ë¼ö ÀÖ½À´Ï´Ù.


log4j,xml ¿¡¼­ jdbc.sqlonly ·Î°Å¸¦ ÀÌ¿ëÇÏ¿© Äõ¸®¸¦ Ãâ·ÂÇϵµ·Ï ÇÏ¿´°í, context-datasource.xml¿¡¼­ Ãß°¡ÇÑ dataSourceSpied (log4j-remix)°¡ Äõ¸®¸¦ Á¤·ÄÇØÁÖ¾ú½À´Ï´Ù.


±×¸®°í jdbc.resultsettableÀ̶ó´Â logger¸¦ Ãß°¡ÇÏ¿© °á°úÄõ¸®µµ ³ª¿À°Ô ÇÏ¿´½À´Ï´Ù. ÀÌ logger¸¦ ¾ø¾Ö¸é °á°úÅ×ÀÌºíµµ ¾È³ª¿À°ÚÁÒ ¤·¤·;


ÀÌ·¸°Ô Äõ¸®¸¦ Á¤·ÄÇÏ¿© ·Î±×¸¦ ³²±èÀ¸·Î½á °³¹ß¿¡ µµ¿òÀÌ µË´Ï´Ù.


¸¶Áö¸·À¸·Î, ÀÌ·¯ÇÑ ·Î°Å´Â ´ç¿¬È÷ ¼º´É¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. 

±×·¯¹Ç·Î °³¹ß½Ã¿¡¸¸ ÀÌ·¸°Ô ·Î±×¸¦ ³²±â°í, ½ÇÁ¦ ¿î¿µ¿¡¼­´Â ÀÌ·¯ÇÑ ¼³Á¤À» ¾ø¾Ö´Â°Ô ÁÁ½À´Ï´Ù.



Ãâó: https://addio3305.tistory.com/66 [ÈçÇÑ °³¹ßÀÚÀÇ °³¹ß ³ëÆ®]