-
- All Superinterfaces:
-
EventListener
public interface StatementEventListener extends EventListener
注册以通知在Statement池中的PreparedStatements上发生的事件的对象。JDBC 3.0规范添加了maxStatements
ConnectionPooledDataSource
属性,以提供标准机制,以启用PreparedStatements
的池并指定语句池的大小。 但是,当PreparedStatement
变为无效时,驱动程序无法通知外部语句池。 对于某些数据库,如果执行影响表的DDL操作,则语句将变为无效。 例如,应用程序可以创建一个临时表来对表执行某些操作然后将其销毁。 它可能会在以后再次需要时重新创建相同的表。 删除表时,某些数据库将使引用临时表的任何预准备语句无效。与
ConnectionEventListener
接口中定义的方法类似,驱动程序将在检测到语句无效时抛出任何异常之前调用StatementEventListener.statementErrorOccurred
方法。 当PreparedStatement
关闭时,驱动程序也将调用StatementEventListener.statementClosed
方法。PooledConnection
接口中添加了允许组件将StatementEventListener注册为PooledConnection
的PooledConnection
。- 从以下版本开始:
- 1.6
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 void
statementClosed(StatementEvent event)
当驱动程序检测到PreparedStatement
已关闭时,会在连接上注册的所有StatementEventListener
上调用此方法。void
statementErrorOccurred(StatementEvent event)
当驱动程序检测到PreparedStatement
无效时,会在连接上注册的所有StatementEventListener
上调用此方法。
-
-
-
方法详细信息
-
statementClosed
void statementClosed(StatementEvent event)
当驱动程序检测到PreparedStatement
已关闭时,会在连接上注册的所有StatementEventListener
上调用此方法。- 参数
-
event
- 描述事件源并且PreparedStatement
已关闭的事件对象。 - 从以下版本开始:
- 1.6
-
statementErrorOccurred
void statementErrorOccurred(StatementEvent event)
当驱动程序检测到PreparedStatement
无效时,会在连接上注册的所有StatementEventListener
上调用此方法。 驱动程序在将给定事件中包含的SQLException
抛出到应用程序之前调用此方法。- 参数
-
event
- 描述事件源的事件对象,无效的语句以及驱动程序将要抛出的异常。 事件的来源是PooledConnection
,无效的PreparedStatement
与之关联。 - 从以下版本开始:
- 1.6
-
-