티스토리 뷰
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
반응형
'프로그래밍 > Java' 카테고리의 다른 글
[springboot] spring security로 DB 사용자권한별 페이지접속제한하기 (1) | 2023.11.16 |
---|---|
[springboot] DTO에 추가된 필드 중 null값인 필드는 보이지않게 하는 방법 (2) | 2023.11.13 |
Geoserver GIS서비스 개발방법 1 (postgre + geoserver + openlayers) (0) | 2023.08.16 |
[java] spring boot maven: mongoDB 연동하기 (0) | 2023.06.28 |
[java] 자바에서 JSON API POST 데이터에 리스트 넣어서 호출하는 방법 (0) | 2023.04.27 |
댓글