2016-10-17 2 views
0

Да, я имею в виду чистую java. У меня мой mybatis настроен так. Теперь в большинстве моих проектов используется java base config, но mybatis.Как преобразовать настройку mybatis в java base config

<configuration> 
    <settings> 
     <setting name="cacheEnabled" value="true" /> 
     <setting name="lazyLoadingEnabled" value="true" /> 
     <setting name="multipleResultSetsEnabled" value="true" /> 
     <setting name="useColumnLabel" value="true" /> 
     <setting name="useGeneratedKeys" value="false" /> 
     ... 
    </settings> 
</configuration> 

Как я могу настроить их в java-файле? Ниже приведена моя конфигурация db.

@Configuration 
@MapperScan("com.xxxx.basis.dao") 
public class DBConfig { 
    @Resource 
    private Environment env; 

    @Bean(destroyMethod = "close") 
    public DruidDataSource dataSource() { 
     DruidDataSource dataSource = new DruidDataSource(); 
     // ... 
     return dataSource; 
    } 

    @Bean 
    public DataSourceTransactionManager transactionManager() { 
     return new DataSourceTransactionManager(dataSource()); 
    } 

    @Bean 
    public SqlSessionFactoryBean sqlSessionFactory() throws Exception { 
     SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); 
     sessionFactory.setDataSource(dataSource()); 
     sessionFactory.setTypeAliasesPackage("com.xxx.basis.domain"); 
     return sessionFactory; 
    } 

} 
+0

Я думаю, что это не возможно .... Нет, где он отметил, что sqlmap конфигурационный файл может быть в java..even в mybatis документации мы можем видеть только конфигурацию XML. –

+0

Спасибо. Я думаю, что импорт XML-файла в java-файл является единственным способом. @ PrasannaKumar –

+0

Да .. это спецификация mybatis –

ответ

0

@Bean общественного SqlSessionFactoryBean sqlSessionFactory() {

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); 
    sqlSessionFactoryBean.setConfigLocation(applicationContext.getResource("classpath:mybatis.xml")); 
    sqlSessionFactoryBean.setDataSource(dataSource()); 
    return sqlSessionFactoryBean; 
} 
0

Попробуйте это.

SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); 
sessionFactory.setDataSource(dataSource()); 
sessionFactory.setTypeAliasesPackage("com.xxx.basis.domain"); 

SqlSessionFactory factory = sessionFactory.getObject(); 
factory.getConfiguration().setCacheEnabled(true); 
factory.getConfiguration().setUseColumnLabel(true); 
return sessionFactory; 
Смежные вопросы