在保存 更新等操作的前后可以追加一些操作,我们把这类操作放在时间的监听器里,
Hibernate3.0以前使用拦截器来实现的,现在多数使用监听器来实现。
比如我们对保存Users进行监听
SaveListener.java
view plaincopy to clipboardprint?
01.package listener;
02.
03.import org.hibernate.HibernateException;
04.import org.hibernate.event.SaveOrUpdateEvent;
05.import org.hibernate.event.SaveOrUpdateEventListener;
06.
07.import domain.Users;
08.
09.public class SaveListener implements SaveOrUpdateEventListener {
10.
11. @Override
12. public void onSaveOrUpdate(SaveOrUpdateEvent event)
13. throws HibernateException {
14. if(event.getObject() instanceof Users){
15. Users user = (Users)event.getObject();
16. System.out.println("---"+user.getName());
17. }
18. }
19.
20.}
package listener;
import org.hibernate.HibernateException;
import org.hibernate.event.SaveOrUpdateEvent;
import org.hibernate.event.SaveOrUpdateEventListener;
import domain.Users;
public class SaveListener implements SaveOrUpdateEventListener {
@Override
public void onSaveOrUpdate(SaveOrUpdateEvent event)
throws HibernateException {
if(event.getObject() instanceof Users){
Users user = (Users)event.getObject();
System.out.println("---"+user.getName());
}
}
}
hibernate.cfg.xml中加入
view plaincopy to clipboardprint?
01.<!-- 监听器 -->
02. <event type="save">
03. <listener class="listener.SaveListener"/>
04. </event>
<!-- 监听器 -->
<event type="save">
<listener class="listener.SaveListener"/>
</event>
运行添加Users操作后,打印出---pf1,说明监听器成功运行,但是没有sql语句,查看数据库,没有插入数据。
因为我们写的监听器取代了默认的保存监听器
修改一下
view plaincopy to clipboardprint?
01.<!-- 监听器 -->
02.<event type="save">
03. <listener class="listener.SaveListener"/>
04. <listener class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener"/>
05.</event>
<!-- 监听器 -->
<event type="save">
<listener class="listener.SaveListener"/>
<listener class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener"/>
</event>
再执行就有插入操作了,再提醒一点,监听器执行的顺序和配置时候的先后顺序一致。
end !
分享到:
相关推荐
在"MyBatis拦截器分页与动态修改SQL及其参数值"的主题中,我们可以深入理解以下几个关键知识点: 1. **MyBatis拦截器**:MyBatis提供了一种插件机制,即拦截器(Interceptor),它基于Java的动态代理,可以在SQL...
在JavaServer Pages (JSP) 开发中,监听器和拦截器是两种非常重要的组件,它们可以帮助我们实现更高效、更灵活的Web应用程序管理。在这个名为"jsp实验5:监听器拦截器的使用"的实验中,我们将探讨如何利用这些技术来...
在Mybatis中,拦截器扮演着插件的角色,可以监听并修改Mybatis执行过程中的某些行为。本话题将深入探讨Mybatis分页拦截器的工作原理、实现方式以及在不同版本(如mybatis-3.1.1和mybatis-3.0.4)下的兼容性。 首先...
拦截器和过滤器的区别 1、拦截器基于动态代理 , 过滤器基于函数回调 2、拦截器不依赖于servlet容器,通过动态代理实现,过滤器依赖于servlet容器 3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求...
1. **URL截获**:拦截器首先通过监听网络请求,对网页加载过程中的每个URL进行扫描。当发现与广告相关的URL时,会采取相应的措施,防止广告内容的加载。 2. **屏蔽库**:屏蔽库是拦截器的核心组成部分,它包含了...
为了有效地管理和解决这个问题,我们可以利用Mybatis的拦截器机制来自动检测并记录慢SQL。下面我们将详细介绍如何通过Mybatis拦截器实现这一功能。 首先,了解Mybatis拦截器的基本概念。Mybatis拦截器(Interceptor...
在"网络封包拦截器1.0"中,用户可以选择不同的数值系统(二进制、十进制、十六进制)来查看数据包内容。这种灵活性使得用户可以根据自身需求来解读数据,例如,对于计算机硬件开发者,二进制表示可能更为直观;而...
封包拦截器MiniSniffer 1.0是一款专为网络数据包捕获和分析设计的强大工具。它的核心功能在于无需DLL注入就能实现对特定IP地址或特定端口的封包拦截,这为网络监控、故障排查和安全审计提供了极大的便利。 一、封包...
默认登录页面 http://localhost:8080/Struts_ljq ...登录成功页面有add,delete,modify方法,配置有不同拦截,在后台看拦截信息。 有全局拦截器配置和方法拦截,及监听器简单运用, 仅新手学习demo
服务端代码可能会定义WebSocket服务器,设置监听端口,注册WebSocket事件处理函数(如onopen、onmessage、onclose、onerror),并实现拦截器逻辑。客户端代码则可能使用WebSocket对象创建连接,发送和接收消息,并...
Java 过滤器、监听器拦截器原理个人总结 Java 过滤器是 Java Servlet 规范中的一种机制,用于对请求和响应进行过滤。过滤器可以实现用户身份验证、日志记录、数据压缩等功能。创建一个过滤器需要两个步骤:创建 ...
SpringBoot 实现拦截器、过滤器、监听器过程解析 SpringBoot 框架中提供了多种方式来拦截和过滤请求,包括拦截器、过滤器和监听器。以下是对这三种机制的详细解析: 一、拦截器 在 SpringBoot 中,拦截器是通过...
3. 配置Web应用的web.xml文件,设置过滤器和监听器。 4. 创建并配置Struts2的核心配置文件struts.xml,定义Action、结果类型和拦截器。 5. 实现业务逻辑,包括Action类、Service接口和实现、DAO接口和实现。 6. 配置...
与过滤器和监听器不同,拦截器更多地用于框架层面上,如Spring、Hibernate、Struts2等。拦截器的作用是拦截框架中的方法调用或Web请求,并在方法或请求执行前后执行特定的代码逻辑。拦截器可以在配置文件中声明,也...
在"Struts2 拦截结果监听器(三十)"这个主题中,我们将深入探讨Struts2的拦截器机制,特别是与拦截结果相关的监听器。 拦截器是Struts2的核心组件,它们按照预定义的顺序组成一个拦截器栈,每个拦截器在处理请求时...
这个"Android 短信拦截器"可能是一个示例项目,展示了如何在Android 4.0.3(Ice Cream Sandwich)版本上实现短信监听功能。以下是关于这个主题的详细知识: 1. **BroadcastReceiver**: 短信拦截的核心是...
在IT领域,掌握Java、SQL、Oracle、EJB、SSH、Struts、XML以及监听器、拦截器和过滤器等技术是至关重要的。这些技术涵盖了Web应用开发的多个层面,对于初学者而言,理解并熟练运用它们能为职业生涯打下坚实的基础。 ...
过滤器,拦截器,监听的区别和作用,确切的说在什么情况下用哪种技术供大家学习。
网络抓包拦截器的工作原理是利用操作系统提供的网络接口,如Windows的WinPcap或Linux的libpcap库,监听网络流量。当数据包通过网络接口时,拦截器会捕获这些包,并提供给用户查看。常见的抓包工具如Wireshark,可以...
Java中的拦截器、过滤器、监听器用法详解 Java中的拦截器、过滤器、监听器是三个重要的概念,它们在Java Web开发中扮演着非常重要的角色。本文将详细介绍Java中的拦截器、过滤器、监听器的用法,包括它们的功能、...