Spring
MyBatis속성 setting값의 우선순위는 어떻게 될까?
91cm
2019. 9. 15. 23:35
요약
- mybatis-config.xml에 setting한 값보다 쿼리문에 작성한 세팅값이 우선순위가 높다.
- 쉽게 말해 css의 style속성을 엘리먼트에 직접 주는 것과 같은 우선순위임.
세팅 예제
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="cacheEnabled" value="false" />
<setting name="useGeneratedKeys" value="true" /> // 여기부분
<setting name="defaultExecutorType" value="REUSE" />
</settings>
</configuration>
user.xml
<insert id="insertUser" parameterType="dto"useGeneratedKeys="false" keyProperty="seq">
INSERT INTO url (name, age)
VALUES (#{name}, #{age})
</insert>
mybatis-config 파일에서 userGeneratedKeys 속성의 기본값은 false이다.
여기서 테스트를 위해 true로 세팅 한뒤, user.xml의 userGeneratedKeys 속성을 false로 주게되면 userGeneratedKeys는 작동하지 않는다.