一般数据库字段不缺分大小写,所以一般使用下划线分割,比如user_id,但是在Java类中我们规范使用驼峰命名为userId,在不使用xml中resultMap标签的配置情况下,mybatis提供mapUnderscoreToCamelCase属性设置自动转换驼峰命名。
一、通过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>
</configuration>
二、通过springboot的 properties(yml相同)
properties
mybatis.configuration.mapUnderscoreToCamelCase=true
或
mybatis.configuration.map-underscore-to-camel-case=true
yml
# MyBatis
mybatis:
# 搜索指定包别名
# typeAliasesPackage: xyz.hashdog.modules.*.bean
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
configuration:
# 开启驼峰命名
map-underscore-to-camel-case: true
三、通过config代码
@Bean(name = "toFactory")
@Primary
public SqlSessionFactory toFactory(@Qualifier("toDataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
//指定全限定别名
bean.setTypeAliasesPackage("xyz.hashdog.datasynchronism.bean");
bean.setDataSource(dataSource);
//指定该SqlSession对应的mapper.xml文件位置
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/to/*.xml"));
//开启驼峰转换
SqlSessionFactory sqlSessionFactory = bean.getObject();
org.apache.ibatis.session.Configuration configuration = sqlSessionFactory.getConfiguration();
configuration.setMapUnderscoreToCamelCase(true);
return bean.getObject();
}
版权声明:本文为corleone_4ever原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。