數據庫以下劃線的屬性都無法映射到對象;
springboot 版本:2.5.7
mybatis 版本:3.5.4
mybatis-spring 版本:2.0.4
第一步:在application.property裏面添加
mybatis.configuration.cache-enabled=true mybatis.configuration.lazy-loading-enabled=true mybatis.configuration.aggressive-lazy-loading=true mybatis.configuration.use-column-label=true mybatis.configuration.use-generated-keys=false mybatis.configuration.auto-mapping-behavior=partial mybatis.configuration.default-executor-type=simple mybatis.configuration.map-underscore-to-camel-case=true mybatis.configuration.local-cache-scope=STATEMENT mybatis.configuration.jdbc-type-for-null=null
第二步:在application類增加@Configuration
@Configuration
第三步:在類中增加代碼
@Bean @ConfigurationProperties(prefix = "mybatis.configuration") public org.apache.ibatis.session.Configuration globMybatisConfiguration(){ return new org.apache.ibatis.session.Configuration(); }
@Bean public SqlSessionFactory sqlSessionFactoryBean(VendorDatabaseIdProvider vendorDatabaseIdProvider,org.apache.ibatis.session.Configuration configuration) throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource()); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resource1=resolver.getResources("classpath*:com/ss/*/mapper/*.xml"); Resource[] resource2=resolver.getResources("classpath*:com/ss/dd/plat/dao/*/*.xml"); Resource[] resources= ArrayUtils.addAll(resource1,resource2); sqlSessionFactoryBean.setMapperLocations(resources); sqlSessionFactoryBean.setDatabaseIdProvider(vendorDatabaseIdProvider); sqlSessionFactoryBean.setConfiguration(configuration); return sqlSessionFactoryBean.getObject(); }
重點就是要把配置加載進去,加入以後能正常映射駝峯結果.