개발환경
spring boot 2.4.6
#mybatis.mapper-locations=classpath:mappers/*.xml
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setMapperLocations(applicationContext.getResources("classpath:mappers/*.xml"));
bean.setTypeAliasesPackage("com.example.backend.vos");
bean.setConfigLocation(applicationContext.getResource("classpath:mybatis-config.xml")); // 카멜케이스 적용 위함
return bean.getObject();
}
<?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>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="callSettersOnNulls" value="false"/> <!--true: 쿼리 결과 필드가 null인 경우, 누락이 되서 나오는데 누락이 안되게 하는 설정-->
<setting name="jdbcTypeForNull" value="NULL"/> <!-- 쿼리에 보내는 파라메터가 null인 경우, 오류 발생하는 것 방지 예) #{search.user} -->
</settings>
</configuration>