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

jhy*_*yot 2 java spring datasource jdbc spring-boot

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

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

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

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

Ral*_*lph 8

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

看起来您可以在.properties文件中配置每个池参数(@see /sf/answers/1790112481/)

所以试一试,

1.4之前的Spring Boot:

spring.datasource.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx
Run Code Online (Sandbox Code Playgroud)

Spring Boot 1.4或更高版本:

spring.datasource.tomcat.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx
Run Code Online (Sandbox Code Playgroud)