Я использую Mybatis с пружинной загрузкой 'mybatis-spring-boot-starter version 2.1.0' и Athena. Когда я проверяю журналы своей базы данных, для каждого запроса, вызываемого Mybatis, есть два запроса:
. Первый: SELECT * FROM (myRequest) T LIMIT 0
И второй:myRequest
Например, если он создает запрос для проверки доступности базы данных для каждого запроса, любая идея?
, вот мой картограф:
@Mapper
public interface MyMapper {
@Select(value = "select name, adress from db.table limit 10")
List<Object> findAll();
}
и моя конфигурация базы данных
@Configuration
@Slf4j
public class AthenaConfig {
@Bean(name = "athena-db")
@ConfigurationProperties(prefix = "athena.spring.datasource.hikari")
public DataSource athenaDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public SqlSessionFactory sqlSessionFactory(@Qualifier("athena-db") DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setTypeAliasesPackage("athena.mapper");
sqlSessionFactoryBean.getObject().getConfiguration().setDefaultFetchSize(500);
sqlSessionFactoryBean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
return sqlSessionFactoryBean.getObject();
}
@Bean
public MapperScannerConfigurer mapperScannerConfigurer() throws Exception {
MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
mapperScannerConfigurer.setBasePackage("athena.mapper");
return mapperScannerConfigurer;
}
}
Вот мой файл application.properties:
athena.spring.datasource.driver-class-name=com.simba.athena.jdbc.Driver
athena.spring.datasource.url=jdbc:awsathena://AwsRegion=eu-west-1;AwsCredentialsProviderClass=com.amazonaws.auth.DefaultAWSCredentialsProviderChain;S3OutputLocation=s3://xxxx/;
, когда я использую шаблон JDBC, у меня нет дополнительных запросов, вот мой тест с JDBCTemplate:
@Repository
public class MyRepository {
@Autowired
JdbcTemplate jdbcTemplate;
List<Object> findAll(){
return jdbcTemplate.query("select name, adress from db.table limit 10",new BeanPropertyRowMapper(Object.class));
}
}
Как мне избежать этого бесполезного звонка? заранее спасибо