티스토리 뷰

728x90
반응형

 

 

pom.xml에 아래와 같이 사용할 DB와 Mybatis, 그리고 쿼리를 출력해줄 log4jjdbc-log4j2-jdbc를 dependencies 안에 넣어줍니다.

<dependency>
    <!-- mybatis -->
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.5</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.5</version>
</dependency>

<!-- mybatis sql pretty -->
<dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    <version>1.16</version>
</dependency>

 

 

MyBatisConfig.java 파일을 생성하여 매퍼 경로도 연결해줍니다.

package com.demo.example;

import javax.sql.DataSource;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;


import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;

@Configuration
@MapperScan(basePackages = "com.demo.example.dao") // 여기에 DAO 패키지경로 입력
public class MyBatisConfig {

	@Bean
	public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
		SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
		sessionFactory.setDataSource(dataSource);
		sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));	
		return sessionFactory.getObject();
	}
}

 

Mapper.xml 파일은 src/main/reousrces/mapper/Mapper.xml 경로에 넣어줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
   
<mapper namespace="com.demo.example.dao.DAO">
  <select id="getlist" resultType="com.demo.example.dto.DTO">
    <![CDATA[
  		// 여기에 쿼리 입력
    ]]>
  </select>
</mapper>

 

 

이제 application.properties에 log4jdbc를 연결해주면 끝.

spring.datasource.url을 아래와 같이 변경해주면 됩니다.


spring.datasource.url=jdbc:log4jdbc:postgresql://localhost:5432/{database}
#spring.datasource.url=jdbc:postgresql://localhost:5432/{database}
spring.datasource.username={username}
spring.datasource.password={password}

spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.jpa.properties.hibernate.format_sql=true
logging.level.jdbc.sqlonly=DEBUG
logging.level.org.springframework.web=DEBUG

 

이제 프로젝트 실행 시 로그에서 사용된 쿼리문과 추출된 데이터를 확인할 수 있습니다.

 

728x90
반응형
댓글