Guest User

Untitled

a guest
Dec 10th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. package com.springboot.demo.configuration;
  2.  
  3. import com.alibaba.druid.pool.DruidDataSource;
  4. import org.apache.ibatis.session.SqlSessionFactory;
  5. import org.mybatis.spring.SqlSessionFactoryBean;
  6. import org.mybatis.spring.SqlSessionTemplate;
  7. import org.mybatis.spring.annotation.MapperScan;
  8. import org.springframework.beans.factory.annotation.Qualifier;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.context.annotation.Primary;
  13. import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
  14. import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  15.  
  16. import javax.sql.DataSource;
  17.  
  18. @Configuration
  19. @MapperScan(basePackages = "com.springboot.demo.dao.master", sqlSessionTemplateRef = "masterSqlSessionTemplate")
  20. public class MasterDataSourceConfiguration {
  21.  
  22. @Value("${spring.datasource.master.driver-class-name}")
  23. private String driverClassName;
  24.  
  25. @Value("${spring.datasource.master.url}")
  26. private String url;
  27.  
  28. @Value("${spring.datasource.master.username}")
  29. private String username;
  30.  
  31. @Value("${spring.datasource.master.password}")
  32. private String password;
  33.  
  34. @Primary
  35. @Bean(name = "masterDataSource")
  36. public DataSource dataSource() {
  37. DruidDataSource dataSource = new DruidDataSource();
  38. dataSource.setDriverClassName(this.driverClassName);
  39. dataSource.setUrl(this.url);
  40. dataSource.setUsername(this.username);
  41. dataSource.setPassword(this.password);
  42. return dataSource;
  43. }
  44.  
  45. @Primary
  46. @Bean(name = "masterSqlSessionFactory")
  47. public SqlSessionFactory sqlSessionFactory(@Qualifier("masterDataSource") DataSource dataSource) throws Exception {
  48. SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
  49. bean.setDataSource(dataSource);
  50. bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/master/*.xml"));
  51. bean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:config/MyBatisConfig.xml"));
  52. return bean.getObject();
  53. }
  54.  
  55. @Primary
  56. @Bean(name = "masterTransactionManager")
  57. public DataSourceTransactionManager transactionManager(@Qualifier("masterDataSource") DataSource dataSource) {
  58. return new DataSourceTransactionManager(dataSource);
  59. }
  60.  
  61. @Primary
  62. @Bean(name = "masterSqlSessionTemplate")
  63. public SqlSessionTemplate sqlSessionTemplate(@Qualifier("masterSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
  64. return new SqlSessionTemplate(sqlSessionFactory);
  65. }
  66.  
  67. }
Add Comment
Please, Sign In to add comment