2016-10-17 39 views
0

是的,我的意思是纯java。我有我的mybatis这样config。现在我的大部分项目都使用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

谢谢。我认为导入java文件中的xml文件是唯一的方法。@ 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;