Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dodaj kolumnę do wszystkich zapytań MySQL Select w jednym ujęciu

Utwórz niestandardowy przechwytywacz DB

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);
  }

}

W pliku Spring Context skonfiguruj przechwytywacz dla fabryki sesji:

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

Upewnij się, że Custom DB Interceptor nie jest cyklicznie zależny od sessionFactory. W przypadku powyższego wszystkie zapytania uruchamiane przez fabrykę sesji są przechwytywane, modyfikowane, a następnie przekazywane do onPrepareStatement metoda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć część ciągu w mysql?

  2. Zapobiegaj zduplikowanym wpisom SQL

  3. przechowuj tablicę numpy w mysql

  4. Zoptymalizuj zapytanie MySQL, aby uniknąć używania where; Korzystanie tymczasowe; Korzystanie z sortowania plików

  5. Zostaw dołączanie, sumowanie i liczenie grup według