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

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

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

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

声明是什么并不重要,但在我的情况下,它将是ALTER SESSION SET CURRENT_SCHEMA=xxxx

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