Ich möchte ExecutorType ändern und MapperScan in einem Projekt mit Spring und MyBatis definieren DataSorce verwendet dasselbe und ändert nur ExecutorType in BATCH, REUSE Gilt für Prozesse, die mehrere Aktualisierungen von BATCH durchführen. REUSE gilt für andere MapperScan kann in derselben Klasse definiert werden
SqlSessionConfig.java
@Configuration
public class SqlSessionConfig {
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource datasource) throws Exception {
SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
sqlSessionFactory.setDataSource(datasource);
return (SqlSessionFactory) sqlSessionFactory.getObject();
}
@Bean(name = "defaultSqlSessionTemplate")
public SqlSessionTemplate sqlSessionFactory(SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
@Bean(name = "reuseSqlSessionTemplate")
public SqlSessionTemplate sqlSessionFactory(SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory, ExecutorType.REUSE);
}
@Bean(name = "batchSqlSessionTemplate")
public SqlSessionTemplate sqlSessionFactory(SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory, ExecutorType.BATCH);
}
}
@MapperScan(basePackages = "jp.co.sample.mapper.defaul", sqlSessionTemplateRef = "defaultSqlSessionTemplate")
class DefaultMapperScan {
}
@MapperScan(basePackages = "jp.co.sample.mapper.reuse", sqlSessionTemplateRef = "reuseSqlSessionTemplate")
class ReuseMapperScan {
}
@MapperScan(basePackages = "jp.co.sample.mapper.batch", sqlSessionTemplateRef = "batchSqlSessionTemplate")
class BatchMapperScan {
}