| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- package com.tsi.comm.server.mybatis;
 
- import com.zaxxer.hikari.HikariDataSource;
 
- import lombok.RequiredArgsConstructor;
 
- import org.apache.ibatis.session.SqlSessionFactory;
 
- import org.mybatis.spring.SqlSessionFactoryBean;
 
- import org.mybatis.spring.SqlSessionTemplate;
 
- import org.springframework.beans.factory.annotation.Autowired;
 
- import org.springframework.beans.factory.annotation.Qualifier;
 
- import org.springframework.beans.factory.annotation.Value;
 
- import org.springframework.boot.context.properties.ConfigurationProperties;
 
- import org.springframework.boot.jdbc.DataSourceBuilder;
 
- import org.springframework.context.ApplicationContext;
 
- import org.springframework.context.annotation.Bean;
 
- import org.springframework.context.annotation.Configuration;
 
- import org.springframework.context.annotation.Primary;
 
- import org.springframework.core.env.Environment;
 
- import org.springframework.jdbc.datasource.DataSourceTransactionManager;
 
- import org.springframework.transaction.annotation.EnableTransactionManagement;
 
- import javax.sql.DataSource;
 
- @RequiredArgsConstructor
 
- @Configuration
 
- @EnableTransactionManagement
 
- public class MybatisConfig {
 
-     private final Environment environment;
 
-     @Value("${spring.datasource.hikari.mapper-locations:classpath:mybatis/mapper/**/*.xml}")
 
-     String mapperLocations;
 
-     @Primary
 
-     @Bean(name="dataSource")
 
-     @ConfigurationProperties(prefix="spring.datasource.hikari")
 
-     public DataSource dataSource() {
 
-         HikariDataSource dataSource = DataSourceBuilder.create()
 
-                 .type(HikariDataSource.class)
 
-                 .build();
 
-         dataSource.setPoolName(this.environment.getProperty("spring.datasource.hikari.pool-name"));
 
-         return dataSource;
 
- //        return DataSourceBuilder.create().build();
 
-     }
 
-     @Primary
 
-     @Bean(name="sqlSessionFactory")
 
-     public SqlSessionFactory sqlSessionFactoryBean(@Autowired @Qualifier("dataSource") DataSource dataSource, ApplicationContext applicationContext)
 
-             throws Exception {
 
-         SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
 
-         factoryBean.setDataSource(dataSource);
 
-         //factoryBean.setConfigLocation(applicationContext.getResource("classpath:mapper/mapper/mapper-config.xml"));
 
-         factoryBean.setMapperLocations(applicationContext.getResources(mapperLocations));
 
-         return factoryBean.getObject();
 
-     }
 
-     @Primary
 
-     @Bean(name="sqlSession")
 
-     public SqlSessionTemplate sqlSession(@Autowired @Qualifier("sqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
 
-         return new SqlSessionTemplate(sqlSessionFactory);
 
-     }
 
-     @Primary
 
-     @Bean(name="transactionManager")
 
-     public DataSourceTransactionManager transactionManager(@Autowired @Qualifier("dataSource") DataSource dataSource) {
 
-         return new DataSourceTransactionManager(dataSource);
 
-     }
 
- }
 
 
  |