MyBatis -> java(camel case)와 DB( '_'로 단어를 연결)의 컬럼명 작성 규칙이 다르니까 다른 컬럼명을 자동으로 매칭해주는 기능이 있다.
WEB-INF/mybatis/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" />
</settings>
<typeAliases>
<typeAlias type="com.app.dto.reservation.ReservationDto" alias="ReservationDto" />
<typeAlias type="com.app.dto.user.UserDto" alias="UserDto" />
</typeAliases>
</configuration>
mapper폴더를 mybatis 하위 폴더로 이동
- root-context.xml에서 mapper파일 경로 수정
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
<property name="dataSource" ref="data_source" />
<property name="mapperLocations" value="/WEB-INF/mybatis/mapper/**/*_mapper.xml" />
<property name="configLocation" value="/WEB-INF/mybatis/mybatis-config.xml" />
</bean>
- 쿼리문에서 room_number roomNumber로 더이상 별칭을 작성해주지 않아도 자동으로 변환해준다.
넘겨주는 값이 null일 경우에 대한 처리
- mybatis-config.xml
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
<setting name="jdbcTypeForNull" value="VARCHAR" />
</settings>