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는 작동하지 않는다.