springboot+mybatis 駝峯結構不生效問題

數據庫以下劃線的屬性都無法映射到對象;

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();
}

 

重點就是要把配置加載進去,加入以後能正常映射駝峯結果.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章