首页>代码>spring boot1.3.1+mybatis+velocity学习整合demo分享>/SpringBootMybatis/src/main/java/com/berwin/cloud/conf/MybatisConfig.java
                
                package com.berwin.cloud.conf;
import java.io.IOException;
import java.sql.SQLException;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.StandardEnvironment;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.util.ClassUtils;
import com.alibaba.druid.pool.DruidDataSource;
@Configuration
@MapperScan(basePackages = "com.berwin.cloud.dao")
public class MybatisConfig {
	private static final Logger logger = LoggerFactory.getLogger(MybatisConfig.class);
	@Autowired
	private DruidDataSourceConfig druidDataSourceConfig;
	@Bean
	public DataSource dataSource() {
		logger.debug("druidDataSourceConfig" + druidDataSourceConfig);
		// 加载配置文件属性
		DruidDataSource ds = new DruidDataSource();
		ds.setDriverClassName(druidDataSourceConfig.getDriverClassName());
		ds.setUsername(druidDataSourceConfig.getUsername());
		ds.setPassword(druidDataSourceConfig.getPassword());
		ds.setUrl(druidDataSourceConfig.getUrl());
		ds.setMaxActive(druidDataSourceConfig.getMaxActive());
		ds.setValidationQuery(druidDataSourceConfig.getValidationQuery());
		ds.setTestOnBorrow(druidDataSourceConfig.isTestOnBorrow());
		ds.setTestOnReturn(druidDataSourceConfig.isTestOnReturn());
		ds.setTestWhileIdle(druidDataSourceConfig.isTestWhileIdle());
		ds.setTimeBetweenEvictionRunsMillis(druidDataSourceConfig.getTimeBetweenEvictionRunsMillis());
		ds.setMinEvictableIdleTimeMillis(druidDataSourceConfig.getMinEictableIdleTimeMillis());
		ds.setPoolPreparedStatements(druidDataSourceConfig.isPoolPreparedStatements());
		ds.setMaxOpenPreparedStatements(druidDataSourceConfig.getMaxOpenPreparedStatements());
		try {
			ds.setFilters(druidDataSourceConfig.getFilters());
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return ds;
	}
	@Bean
	public SqlSessionFactory sqlSessionFactory() throws Exception {
		logger.debug("--> sqlSessionFactory");
		final SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
		sqlSessionFactory.setDataSource(dataSource());
		sqlSessionFactory.setConfigLocation(new ClassPathResource("mybatis-config.xml"));
		sqlSessionFactory.setFailFast(true);
		sqlSessionFactory.setMapperLocations(getResource("mapper", "**/*.xml"));
		return sqlSessionFactory.getObject();
	}
	
	@Bean
    public DataSourceTransactionManager transactionManager() {
        logger.debug("> transactionManager");
        return new DataSourceTransactionManager(dataSource());
    }
    @PostConstruct
    public void postConstruct() {
        logger.info("jdbc.settings={}", druidDataSourceConfig);
    }
	
	public Resource[] getResource(String basePackage, String pattern) throws IOException {
		String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + ClassUtils.convertClassNameToResourcePath(new StandardEnvironment().resolveRequiredPlaceholders(basePackage)) + "/" + pattern;
		Resource[] resources = new PathMatchingResourcePatternResolver().getResources(packageSearchPath);
		return resources;
	}
}
 最近下载更多
最近下载更多
                
                8战魂5无双8     LV43
                2019年10月14日
            
            
        
                annazhang     LV29
                2019年8月19日
            
            
        
                时空12580     LV13
                2019年2月27日
            
            
        
                jingcao     LV12
                2018年12月16日
            
            
        
                a765531168     LV1
                2018年12月5日
            
            
        
                子不语103     LV7
                2018年9月4日
            
            
        
                xinxlahu     LV4
                2018年4月3日
            
            
        
                tys852456     LV1
                2018年4月2日
            
            
        
                fzfx88     LV2
                2018年3月15日
            
            
        
                fusxabc5700     LV1
                2018年3月7日
            
            
         最近浏览更多
最近浏览更多
                
                f22m1a2b2     LV17
                2024年5月31日
            
            
        
                漫步的海星     LV4
                2023年9月21日
            
            
        
                1748938504     LV2
                2023年6月30日
            
            
        
                李亮     LV19
                2023年3月6日
            
            
        
                5212991314    
                2022年10月26日
            
            
                    暂无贡献等级
            
        
                shufsjnjksf     LV1
                2022年10月25日
            
            
        
                谢谢谢谢谢谢你     LV6
                2022年7月19日
            
            
        
                wang512237140     LV20
                2021年12月14日
            
            
        
                没墨2001     LV4
                2021年5月26日
            
            
        
                dangzhongan     LV3
                2021年3月20日
            
            
        
 
                 
                 
                