やりたい事のイメージ
DBのカラム名が「emp_id」というスネークケースの場合に、クラスのカラム名が「empId」というキャメルケースに自動的にマッピングさせる場合のやり方です。この設定を行えばresultMapの記述が不要になります。
<mapper namespace="your_space">
<select id="selectExample">
SELECT
employee.emp_id,
employee.emp_name
FROM
employee
</select>
</mapper>
public class ExampleModel {
private Integer empId;
private String empName;
}
スネークケースからキャメルケースに自動変換する3つの方法
いずれかの方法で実現可能です。
方法① application.properties
your root/
`-- learning/
|-- src/
| `-- main/
| `-- resources/
| `-- application.properties ★
`-- pom.xml
mybatis.configuration.map-underscore-to-camel-case=true
方法② application.yml
your root/
`-- learning/
|-- src/
| `-- main/
| `-- resources/
| `-- application.yml ★
`-- pom.xml
mybatis:
configuration:
mapUnderscoreToCamelCase: true
方法③ Spring Boot 設定クラス(@Configuration)
import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisConfig {
@Bean
public ConfigurationCustomizer mybatisConfigurationCustomizer() {
return new ConfigurationCustomizer() {
@Override
public void customize(org.apache.ibatis.session.Configuration configuration) {
configuration.setMapUnderscoreToCamelCase(true); //★
}
};
}
}
コメント