在Spring Boot中的每个数据库连接的开头运行SQL语句

时间:2016-08-05 16:31:42

标签: java spring jdbc spring-boot datasource

如何在使用Spring Boot获取数据库连接后直接运行自定义SQL语句?

每次建立新连接时都需要运行SQL。

该解决方案应该与Spring Boot默认的DataSource实现一起使用(我认为它是一个Tomcat池数据源)。

声明是什么并不重要,但就我而言,它将是ALTER SESSION SET CURRENT_SCHEMA=xxxx

1 个答案:

答案 0 :(得分:8)

Tomcat Jdbc连接池有一个参数“initSQL”https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

看起来您可以在.properties文件中配置每个池参数(@see https://stackoverflow.com/a/25573035/280244

所以试一试,

1.4之前的Spring Boot:

spring.datasource.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx

Spring Boot 1.4或更高版本:

spring.datasource.tomcat.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx