首页>代码>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
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日