복붙노트

[SPRING] Spring 부팅시 각 ​​DB 연결 시작시 SQL 문 실행

SPRING

Spring 부팅시 각 ​​DB 연결 시작시 SQL 문 실행

스프링 부트로 DB 커넥션을 얻은 후 커스텀 SQL 문을 직접 실행하려면 어떻게해야합니까?

새 연결이 설정 될 때마다 SQL을 실행해야합니다.

이 솔루션은 스프링 부트 기본 DataSource 구현 (Tomcat 풀링 데이터 소스라고 생각합니다)과 함께 작동해야합니다.

그것은 정말로 진술이 무엇인지는 중요하지 않지만, 나의 경우에는 ALTER SESSION SET CURRENT_SCHEMA = xxxx가 될 것이다.

해결법

  1. ==============================

    1.Tomcat Jdbc 연결 풀에는 "initSQL"매개 변수가 있습니다. https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

    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.datasource.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx
    

    스프링 부트 1.4 또는 그 이상 :

    spring.datasource.tomcat.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx
    
  2. from https://stackoverflow.com/questions/38793953/run-sql-statement-at-beginning-of-each-db-connection-in-spring-boot by cc-by-sa and MIT license