MyBatis开启mapUnderscoreToCamelCase配置驼峰转换

  • Post author:
  • Post category:其他


一般数据库字段不缺分大小写,所以一般使用下划线分割,比如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 版权协议,转载请附上原文出处链接和本声明。