`
cywhoyi
  • 浏览: 421254 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hibernate PluginInterceptor

 
阅读更多



 因公司的有些项目采用hibernate的ORM框架,并且遗留下来的数据越来越多,势必需要备份或者分表,hibernate本身不支持对于分库分表的共享操作,google公司开源一个共享组件,地址:https://github.com/hibernate/hibernate-shards

现有公司的方式,采用同库水平分表的方式,那采用的分表条件是时间+其它条件,主要按时间维度进行分表,那么同样tb_user表,变为tb_user2012、tb_user2013...

import org.hibernate.EmptyInterceptor;
import org.hibernate.Session;

public class MCSInterceptor extends EmptyInterceptor {

	private static final long serialVersionUID = -878697113286355810L;

	public String onPrepareStatement(String sql) {
		String replaceSql = sql;
		if (sql.contains("tb_user")) {
			replaceSql = sql.replace("tb_user", "tb_user_bak");
		}
		return replaceSql;
	}

	public void setSession(Session session) {
		// TODO Auto-generated method stub

	}
}

 

spring:

	<bean id="mcsInterceptor" class="ewell.dao.interceptor.MCSInterceptor"></bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="entityInterceptor">
			<ref bean="mcsInterceptor" />
		</property>
		<property name="hibernateProperties">
			<props>
				<!-- 数据库方言 -->
				<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
				<!-- 是否显示sql语句 -->
				<prop key="hibernate.show_sql">false</prop>
				
				<prop key="hibernate.jdbc.batch_size">0</prop>
			</props>
		</property>
		<!-- 映射实体 -->
		<!-- Spring自动扫描指定的路径下的映射类 -->
		<property name="packagesToScan">
			<list>
				<value>ewell.bean.*</value>
			</list>
		</property>
	</bean>

 其实操作就是在jdbc中preparestatment时候,把sql拦截下来进行重新组装,那么接下来的过程根据业务的场景,就能进行不同的封装处理。

文章是原创,ITEYE别又说我抄袭。

  • 大小: 47.2 KB
0
2
分享到:
评论

相关推荐

    整合struts2.1和hibernate3.2的JAR包

    这可能包括struts2-core、struts2-convention-plugin、struts2-dojo-plugin、hibernate3、hibernate-entitymanager、jta等JAR包。 4. **配置Struts2**:在WEB-INF下创建struts.xml文件,配置Struts2的核心拦截器栈...

    struts2、hibernate和spring框架整合所需的jar以及配置文档

    1. **Struts2** 相关的jar:包括`struts2-core.jar`、`struts2-convention-plugin.jar`、`struts2-spring-plugin.jar`等,这些库文件提供了Struts2的核心功能和与Spring的整合。 2. **Hibernate** 相关的jar:如`...

    struts2+spring+hibernate 整合的jar包

    Struts2的核心组件包括Action、Interceptor、Result和配置文件(struts.xml)。在整合中,Struts2负责处理HTTP请求,调用业务逻辑,并返回相应的视图。 2. **Spring**:Spring是一个全面的企业级应用框架,它提供了...

    struts2-hibernate3-spring整合需要的全部jar包

    - struts2-core.jar:核心库,包含Action、Result、Interceptor等核心组件。 - struts2-convention-plugin.jar:约定优于配置插件,简化Action类的配置。 - struts2-spring-plugin.jar:Spring插件,用于整合...

    struts2+HIbernate+Spring整合所需jar包

    此外,可能还需要`struts2-convention-plugin.jar`用于自动配置,以及`struts2-spring-plugin.jar`来实现与Spring的集成。 其次,`Hibernate`是持久层框架,通过ORM(对象关系映射)技术实现了数据库操作的便捷性。...

    struts2.1.8 集成 spring hibernate需要的 核心 jar

    - `struts2-core.jar`:这是Struts2框架的核心组件,包含了Action、Interceptor、Result等核心概念。 - `struts2-spring-plugin.jar`:这个插件允许Struts2与Spring框架无缝集成,使得Action类可以被Spring容器...

    Hibernate3.6.10所需jar包

    Struts2.3.36是Struts 2框架的一个版本,它提供了Action、Interceptor、Result等核心概念,帮助开发者组织业务逻辑和展示层。尽管这个版本较老,但其功能依然强大,能够与Spring和Hibernate协同工作,形成强大的企业...

    Struts2整合hibernate所需的jar包

    - `struts2-core.jar`:Struts2框架的核心库,包含Action、Interceptor等主要组件。 - `struts2-convention-plugin.jar`:约定优于配置插件,简化配置文件的编写。 - `struts2-json-plugin.jar`:JSON支持插件,...

    spring-hibernate-struts2.zip

    3. **Struts2框架**:Struts2是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点,并吸收了其他优秀框架的特点,如WebWork的Action和Interceptor。Struts2提供了一种强大的拦截器机制,可以方便地进行请求...

    基于struct+spring+hibernate框架整合详解

    Struts2的核心组件包括配置文件(struts.xml)、拦截器(Interceptor)和结果视图(Result)。通过Action类,Struts2可以将用户请求转发给业务层进行处理,然后将处理结果返回给视图层展示。 **Spring**: Spring是...

    struts+hibernate登陆注册实例

    1. **强大的拦截器(Interceptor)机制**:拦截器允许开发者定义一系列预处理和后处理操作,如权限验证、日志记录等,提高了代码的可重用性和可扩展性。 2. **灵活的配置**:通过XML或注解的方式配置Action、结果...

    Struts2 Spring3 Hibernate3 整合必须包(很完整)

    Struts2通过拦截器(Interceptor)机制实现了AOP(面向切面编程),提供了异常处理、数据校验、国际化等功能。 **Spring3**: Spring是一个全面的企业级应用框架,它支持依赖注入(DI)和面向切面编程(AOP)。...

    Struts2.1+Spring2.5+Hibernate3的jar包

    此外,Struts2提供了拦截器(Interceptor)机制,允许自定义行为和扩展性,比如验证、日志等。Struts2的配置文件通常包括struts.xml,用于定义Action、结果类型和拦截器链。 **Spring2.5** Spring框架是一个全面的...

    strut2与spring4与hibernate4整合

    Struts2还引入了拦截器(Interceptor)机制,允许在请求处理过程中插入自定义逻辑,如权限验证、日志记录等。 **Spring4** 是一个全面的Java企业级应用框架,它不仅提供了依赖注入(DI)和面向切面编程(AOP)的...

    struts2+spring+hibernate整合步骤

    xwork-core-2.1.6.jar是Struts2的核心库,包含Action、Interceptor等关键组件。struts2-core-2.1.8.jar则是Struts2的主框架包,包含了框架运行所需的类和资源。 Spring框架是一个全面的企业级应用开发框架,提供AOP...

    struts2hibernate3spring3项目整合搭建需要的jar包

    - struts2-core.jar:Struts2的核心库,包含了Action、Result、Interceptor等核心组件。 - struts2-convention-plugin.jar:约定优于配置插件,简化Action类和结果的配置。 - struts2-spring-plugin.jar:与...

    三大框架帮助文档合集(Spring3.0.2_API + Struts2.3.1_API + Hibernate3.2_API)

    Java开发中的三大框架——Spring、Struts和Hibernate,是企业级应用开发的基石,它们各自承担着不同的职责,共同构建了高效、稳定的后端架构。本文将深入探讨这三大框架的核心概念、主要功能以及如何相互协作,以...

    Spring Struts Hibernate2

    Struts 1是较老的版本,而Struts 2则引入了更多现代Web开发的最佳实践,如拦截器(Interceptor)机制。 **Hibernate框架**: Hibernate是一个强大的对象关系映射(Object-Relational Mapping,ORM)框架,它可以将...

    Struts +Hibernate 常用开发驱动包

    - Struts相关的jar包:如struts2-core、struts2-convention、struts2-json-plugin等,用于核心功能、约定优于配置的加载和JSON支持。 - Hibernate的jar包:包括hibernate-core、hibernate-validator、hibernate-...

    struts2 hibernate spring api

    Struts2 API提供了丰富的拦截器(Interceptor)、结果类型(Result Type)以及插件(Plugin),使得开发者能够方便地控制请求处理流程、进行业务逻辑处理和视图展示。`struts2.3.1.2.chm` 文件中包含了Struts2的核心...

Global site tag (gtag.js) - Google Analytics