1. application.properties 안에 mybaits 관련 설정 진행
# 마이바티스 config.xml 설정 파일 경로
mybatis.config-location=/mybatis/mybatis-config.xml
# 마이바티스에서 사용할 쿼리문.xml 경로
mybatis.mapper-locations=classpath:/mybatis/mapper/**/*.xml
# 언더바 '_' 를 camel case로 변경할건지 예) member_id => memberId
mybatis.configuration.map-underscore-to-camel-case=true
2. MybatisConfig 클래스 파일 작성
@Configuration
@EnableTransactionManagement
@RequiredArgsConstructor
@MapperScan(basePackages="com.example.demo.mapper") /* 여기에 mapper 인터페이스 파일 경로 지정 */
public class MybatisConfig {
private final DataSource dataSource;
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
// mybatis-config.xml 설정
Resource mybatisConfig = new ClassPathResource("mybatis/mybatis-config.xml");
sessionFactory.setConfigLocation(mybatisConfig);
// mapper.xml 위치 설정
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] mapperLocations = resolver.getResources("classpath:/mybatis/mapper/*.xml");
sessionFactory.setMapperLocations(mapperLocations);
return sessionFactory.getObject();
}
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource);
}
}
3. resources 안에 mybatis 디렉토리 생성 -> mybatis-config.xml 생성
4. mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- Mybatis 관련 설정 작성하기 * 아래 순서 중요, 바뀌면 안됨! -->
<!-- SqlSessionTemplate 관련 설정 -->
<settings>
<setting name="logImpl" value="LOG4J2" /> <!-- 또는 SLF4J, LOG4J 등 다른 로깅 라이브러리 선택 -->
<setting name="jdbcTypeForNull" value="NULL"/> <!-- Null 값 들어왔을때 기본 값 설정 / 이거 설정안하면 마이바티스는 오류 발생시킴 -->
<setting name="mapUnderscoreToCamelCase" value="true"/> <!-- "_" 언더스코어 같은 db랑 매핑을 자동으로 해주는 기능 -->
</settings>
<!-- Alias 관련 설정 -->
<typeAliases>
<!-- Members -->
<typeAlias type="org.example.example_server.members.domain.Members" alias="Members"/>
<!-- Java Type-->
<typeAlias type="java.util.Map" alias="Map"/>
<typeAlias type="java.util.HashMap" alias="HashMap"/>
<typeAlias type="java.util.LinkedHashMap" alias="LinkedHashMap"/>
<typeAlias type="java.util.List" alias="List"/>
<typeAlias type="java.util.ArrayList" alias="ArrayList"/>
</typeAliases>
<!-- mapper 파일 위치 등록 -->
<mappers>
<package name="org.example.example_server"/>
</mappers>
</configuration>
반응형
'마이바티스' 카테고리의 다른 글
Java, Spring Boot / Jsch: Auth fail => apache.sshd로 해결 (1) | 2024.05.23 |
---|---|
Spring Boot SSH AWS JDBC 연결 with 마이바티스 (0) | 2024.05.20 |
마이바티스 문법 (0) | 2023.10.19 |
페이징 처리시 필요한 것들 (0) | 2023.07.14 |
마이바티스 쿼리 로그 보기 (0) | 2023.05.16 |