若是在spring boot的配置文件中的數據源,在application.properties配置文件總加入如下配置便可:java
1 mybatis.configuration.mapUnderscoreToCamelCase=true 2 或 3 mybatis.configuration.map-underscore-to-camel-case=true
若是是單獨配置的數據源,則須要設定SqlSessionFactory中的mysql
Configuration中的屬性 mapUnderscoreToCamelCase 爲 truespring
注意是這個類:org.apache.ibatis.session.Configurationsql
package com.moon.robot.dataSource; import com.alibaba.druid.pool.DruidDataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import javax.sql.DataSource; @Configuration @MapperScan(basePackages = "com.moon.robot.dao", sqlSessionTemplateRef = "robotSqlSessionTemplate") public class RobotDataSourceConfig { @Bean(name = "robotDataSource") @ConfigurationProperties(prefix = "spring.datasource.robot") public DataSource setDataSource() { return new DruidDataSource(); } @Bean(name = "robotTransactionManager") public DataSourceTransactionManager setTransactionManager(@Qualifier("robotDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean(name = "robotSqlSessionFactory") public SqlSessionFactory setSqlSessionFactory(@Qualifier("robotDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); // spring boot2.0.0暫時不支持分頁,之後可能會支持 //bean.setPlugins(new PageInterceptor[]{}); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/robot/*.xml")); // 開啓開啓駝峯命名轉換 bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true); return bean.getObject(); } @Bean(name = "robotSqlSessionTemplate") public SqlSessionTemplate setSqlSessionTemplate(@Qualifier("robotSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { return new SqlSessionTemplate(sqlSessionFactory); } }
spring: datasource: robot: name: db-robot type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver initialize: false url: jdbc:mysql://localhost:3306/robot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull username: root password: 123456