mybatis camel case 매핑이 안 될 때

갓김치·2021년 5월 27일
0

예외

목록 보기
3/28
post-custom-banner

개발환경
spring boot 2.4.6

as-is

application.properties

  • #mybatis.mapper-locations=classpath:mappers/*.xml
  • 이 설정이 잘 작동하지 않는다면 과감히 지우세요

to-be

DBConfig.java

@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();
    }

resource/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>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <setting name="callSettersOnNulls" value="false"/> <!--true: 쿼리 결과 필드가 null인 경우, 누락이 되서 나오는데 누락이 안되게 하는 설정-->
        <setting name="jdbcTypeForNull" value="NULL"/> <!-- 쿼리에 보내는 파라메터가 null인 경우, 오류 발생하는 것 방지  예) #{search.user} -->
    </settings>
</configuration>
  • xml로 하니까 된다

참고

profile
갈 길이 멀다
post-custom-banner

0개의 댓글