sql >> Database >  >> RDS >> Mysql

Voeg in één keer een kolom toe aan alle MySQL Select Queries

Maak een aangepaste 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);
  }

}

Configureer in het Spring Context-bestand de Interceptor voor de sessiefabriek:

<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>

Zorg ervoor dat de Custom DB Interceptor geen cyclische afhankelijkheid van de sessionFactory heeft. Met het bovenstaande worden alle queries die via de session factory worden uitgevoerd, onderschept, gewijzigd en vervolgens doorgegeven aan de onPrepareStatement methode.



  1. Top 50 SQL Server-interviewvragen die u in 2022 moet voorbereiden

  2. Aan de slag met GearHost voor MySQL-databaseontwikkeling

  3. Dynamische mailconfiguratie met waarden uit database [Laravel]

  4. Hoe Python met SQL Server te verbinden om het backend-proces te automatiseren