Blame view

src/main/java/daeucna/config/datasource/PrimaryMybatisConfiguration.java 1.72 KB
2034b5b1   함상기   Init Version 2024...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  package daeucna.config.datasource;

  

  import javax.sql.DataSource;

  

  import org.apache.ibatis.session.SqlSessionFactory;

  import org.mybatis.spring.SqlSessionFactoryBean;

  import org.mybatis.spring.SqlSessionTemplate;

  import org.mybatis.spring.annotation.MapperScan;

  import org.springframework.beans.factory.annotation.Qualifier;

  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.transaction.annotation.EnableTransactionManagement;

  

  @Configuration

  @MapperScan(value = "daeucna.mapper.primary", sqlSessionFactoryRef="primarySqlSessionFactory")

  public class PrimaryMybatisConfiguration {

  

      @Primary

      @Bean(name = "primarySqlSessionFactory")

      public SqlSessionFactory sqlSessionFactory(

              @Qualifier("primaryDataSource") DataSource dataSource, ApplicationContext applicationContext) throws Exception {

          SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

          sqlSessionFactoryBean.setDataSource(dataSource);

          sqlSessionFactoryBean.setConfigLocation(applicationContext.getResource("classpath:mybatis/mybatis-config.xml"));

          sqlSessionFactoryBean.setMapperLocations(applicationContext.getResources("classpath:mybatis/primary/**/*.xml"));

  

          return sqlSessionFactoryBean.getObject();

      }

  

      @Primary

      @Bean(name = "primarySqlSessionTemplate")

      public SqlSessionTemplate sqlSessionTemplate(

              @Qualifier("primarySqlSessionFactory") SqlSessionFactory sqlSessionFactory) {

          return new SqlSessionTemplate(sqlSessionFactory);

      }

  

  }