您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

一次性为所有MySQL Select查询添加一列

一次性为所有MySQL Select查询添加一列

创建一个自定义数据库拦截

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

}

在Spring Context文件中,为会话工厂配置拦截器:

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

确保自定义数据库拦截器对sessionFactory没有周期性的依赖关系。通过以上操作,将拦截通过会话工厂触发的所有查询,进行修改,然后将其传递给该onPrepareStatement方法

MySQL 2022/1/1 18:19:02 有592人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶