Day092

RISK_TAKER·2023년 6월 13일
0

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일 경우에 대한 처리

  1. mybatis-config.xml
<settings>
	<setting name="mapUnderscoreToCamelCase" value="true" />
	<setting name="jdbcTypeForNull" value="VARCHAR" />
</settings>

0개의 댓글