
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.takensoft.common.config;
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.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.web.context.WebApplicationContext;
import javax.sql.DataSource;
@Configuration
@MapperScan(basePackages="com.takensoft.ums.dao", sqlSessionFactoryRef = "umsSqlSessionFactory")
public class UmsDataSourceConfig {
@Bean(name = "umsDataSource")
@ConfigurationProperties(prefix="spring.ums.datasource")
public DataSource umsDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "umsSqlSessionFactory")
public SqlSessionFactory umsSqlSessionFactory(@Qualifier("umsDataSource") DataSource umsDataSource,
ApplicationContext applicationContext) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(umsDataSource);
sqlSessionFactoryBean.setTypeAliasesPackage("com.takensoft.ums.vo");
sqlSessionFactoryBean.setMapperLocations(applicationContext.getResources("classpath:mybatis/mapper-ora/**/*-SQL.xml"));
// MyBatis Configuration 설정 추가
org.apache.ibatis.session.Configuration myBatisConfig = new org.apache.ibatis.session.Configuration();
myBatisConfig.setCacheEnabled(true);
myBatisConfig.setLazyLoadingEnabled(false);
myBatisConfig.setMultipleResultSetsEnabled(true);
myBatisConfig.setUseColumnLabel(true);
myBatisConfig.setUseGeneratedKeys(false);
myBatisConfig.setDefaultExecutorType(org.apache.ibatis.session.ExecutorType.SIMPLE);
myBatisConfig.setDefaultStatementTimeout(25000);
myBatisConfig.setCallSettersOnNulls(true);
myBatisConfig.setMapUnderscoreToCamelCase(true);
sqlSessionFactoryBean.setConfiguration(myBatisConfig);
return sqlSessionFactoryBean.getObject();
}
@Bean(name = "umsSessionTemplate")
public SqlSessionTemplate umsSqlSessionTemplate(@Qualifier("umsSqlSessionFactory") SqlSessionFactory umsSqlSessionFactory) {
return new SqlSessionTemplate(umsSqlSessionFactory);
}
}