sql >> Database teknologi >  >> RDS >> Mysql

Tilføj en kolonne til alle MySQL Select Queries i et enkelt skud

Opret en brugerdefineret DB Interceptor

package com.felix.dao.interceptor;
import org.hibernate.EmptyInterceptor;

public class CustomDBInterceptor extends EmptyInterceptor {

  @Override
  public String onPrepareStatement(String sql) {
    String commentStr = "/*Comment*/"
    return super.onPrepareStatement(commentStr+sql);
  }

}

I Spring Context-filen skal du konfigurere Interceptor til sessionsfabrikken:

<bean id="customDBInterceptor" class="com.felix.dao.interceptor.CustomDBInterceptor"/>
<bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="datasource" />
    <property name="entityInterceptor">
        <ref bean="customDBInterceptor"/>
    </property>
    ...
</bean>

Sørg for, at Custom DB Interceptor ikke har en cyklisk afhængighed af sessionFactory. Med ovenstående bliver alle forespørgsler, der udløses gennem sessionsfabrikken, opfanget, modificeret og derefter sendt til onPrepareStatement metode.



  1. Tildeling af den samme parameterværdi flere gange i pdo execute

  2. Løsning for dynamiske sætninger i lagrede procedurer kaldet fra triggere

  3. Introduktion af verdens første SaaS-platform til at levere dyb diagnostik til hybride SQL-servermiljøer

  4. SQLite Opret tabel