본문 바로가기
Programming/Java * Spring

MyBatis 사용 목적, 셋팅, Log4j(로그 출력)

by 고막고막 2019. 6. 13.

1. MyBatis 사용 목적

- 개발과 유지보수가 쉽도록 소스 코드에 박혀있는 SQL을 별도의 파일로 분리
- 단순하고 반복적인 JDBC 코드를 캡슐화하여 데이터베이스 프로그래밍을 간결하게 만듦

2. 라이브러리 다운로드 및 셋팅 경로

github.com/mybatis/mybatis-3/releases

 

mybatis/mybatis-3

MyBatis SQL mapper framework for Java. Contribute to mybatis/mybatis-3 development by creating an account on GitHub.

github.com

3. 환경 설정 (JDBC/JNDI)

1) config.xml 파일 생성
: SqlSessionFactory가 sqlSession 객체를 제공할때 MySqlProjectDao.xml에 있는 sql문, db 연결 정보, 사용하는 객체 등을 정의하여 연결시켜주는 설정 파일

2) environments 태그 설정

<​​transactionManager type="JDBC"?/>          : 직접 커밋, 롤백 하겠다
<​​transactionManager type="MANAGED"?/>   : WAS, 서블릿컨테이너(톰캣)에서 트랜잭션 관리하겠다
<dataSource type="POOLED"/>      : MyBatis 커넥션 풀을 생성해서 사용

<dataSource type="POOLED">
	<property name="driver" value="${driver}"/>
	<property name="url" value="${url}"/>
	<property name="username" value="${username}"/>
	<property name="password" value="${password}"/>
</dataSource>

<dataSource type="UNPOOLED"/>  : 커넥션 요청시 객체 생성(커넥션 풀 X)
<dataSource type="JNDI"/>           : 톰캣의 데이터소스를 사용한다

<dataSource type="JNDI">
	<property name="data_source" value="java:comp/env/jdbc/studydb"/>
</dataSource>

4. Log4j  (sql문 로그 확인하기)

: src 폴더에 아래 내용을 text 파일로 저장하면 내부적으로 sql문이 실행될 때마다 로그를 출력해준다.

log4j.rootLogger=ERROR, stdout
log4j.logger.spms.dao=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n


debud 자세하게

trace 더 자세하게