codecamp

鸿蒙OS StatementEventListener

StatementEventListener

public interface StatementEventListener
extends EventListener

一个对象,它注册以通知在语句池中的 PreparedStatements 上发生的事件。

JDBC 3.0 规范添加了 maxStatements ConnectionPooledDataSource 属性,以提供启用 PreparedStatements 池的标准机制并指定语句池的大小。但是,当 PreparedStatement 无效时,驱动程序无法通知外部语句池。对于某些数据库,如果执行了影响表的 DDL 操作,则语句将变为无效。例如,应用程序可能会创建一个临时表来对该表执行一些工作,然后将其销毁。它可能会在以后再次需要时重新创建同一个表。某些数据库会在删除表时使引用临时表的任何准备好的语句无效。

与 ConnectionEventListener 接口中定义的方法类似,驱动程序在检测到语句无效时会在抛出任何异常之前调用 StatementEventListener.statementErrorOccurred 方法。当 PreparedStatement 关闭时,驱动程序还将调用 StatementEventListener.statementClosed 方法。

允许组件向 PooledConnection 注册 StatementEventListener 的方法已添加到 PooledConnection 接口中。

Since:

1.6

方法总结

修饰符和类型 方法 描述
void statementClosed(StatementEvent event) 驱动程序在检测到 PreparedStatement 已关闭时,对连接上注册的所有 StatementEventListener 调用此方法。
void statementErrorOccurred(StatementEvent event) 驱动程序在检测到 PreparedStatement 无效时,对连接上注册的所有 StatementEventListener 调用此方法。

方法详情

statementClosed

void statementClosed(StatementEvent event)

驱动程序在检测到 PreparedStatement 已关闭时,对连接上注册的所有 StatementEventListener 调用此方法。

参数:

参数名称 参数描述
event 描述事件源和 PreparedStatement 已关闭的事件对象。

Since:

1.6

statementErrorOccurred

void statementErrorOccurred(StatementEvent event)

驱动程序在检测到 PreparedStatement 无效时,对连接上注册的所有 StatementEventListener 调用此方法。 驱动程序在将给定事件中包含的 SQLException 抛出给应用程序之前调用此方法。

参数:

参数名称 参数描述
event 一个事件对象,描述事件的来源、无效的语句以及驱动程序即将抛出的异常。 事件的来源是与无效 PreparedStatement 关联的 PooledConnection。

Since:

1.6

鸿蒙OS RowSetWriter
鸿蒙OS ConnectionEvent
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }