2010-06-30 91 views
1

我正在写请求咨询。 我必须监视某个“插入”在MySQL数据库。 以何种方式更方便地做到这一点? 该应用程序使用Servlets和MySQL。 非常感谢您监控数据库:MySQL

+0

您是否使用持久性框架?如果没有,你可以使用触发器来检测插入。但是如果你使用的是框架,我会使用它给你的。 – 2010-06-30 22:10:13

回答

2

取决于您使用的持久性框架。

  • 如果是Hibernate,则需要实施Interceptor并挂钩onSave()
  • 如果是JPA,则需要使用@PrePersist@PostPersist注释的实体方法。
  • 如果是普通的vanilla JDBC,只需将代码添加到花饰板的DAO方法。

这与servlet无关。 servlet只是一个拦截HTTP请求的API。你的数据访问层应该是独立和透明的。

+0

谢谢你的回答。 我必须添加一些细节。 WebApp使用JDBC。 DB MySql。 我想知道什么时候插入了一些新的数据(插入从第三方应用程序无法访问),因为我必须发送电子邮件提醒新数据,以便用户可以在webapp中查看它。 因此,我在ServletContextListener中定义了一个线程,它定期检查数据库中是否有变化,提取最新数据(最大时间戳),并检查临时表(包含从上次读取的数据)是否数据是旧的还是新的。 非常感谢。 – sangi 2010-07-01 11:17:12

+0

@sangi - 在StackOverflow中,把你的细节放在你的问题中是一个很好的习惯。另外,这听起来像是你解决了你的问题,所以如果你给你的解决方案作为答案,这将有所帮助。我看到你是新人,所以我想我会指出。 – 2010-07-01 13:29:57