Je souhaite modifier ExecutorType et définir MapperScan dans un projet utilisant Spring et MyBatis DataSorce utilise la même chose et change uniquement ExecutorType en BATCH, REUSE S'applique aux processus qui effectuent plusieurs mises à jour de BATCH, REUSE s'applique aux autres MapperScan pourrait être défini dans la même classe
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 {
}