java – 从另一个线程取消MySQL查询执行

我有两个主题.一个是从数据库中提取数据,另一个是使用中止按钮显示进度条.如果我按下中止按钮,则另一个线程执行的查询应该被取消.我知道如何从命令提示符中删除它;但是,如果你们中的任何人都知道从java取消查询,这将...

我有两个主题.一个是从数据库中提取数据,另一个是使用中止按钮显示进度条.如果我按下中止按钮,则另一个线程执行的查询应该被取消.

我知道如何从命令提示符中删除它;但是,如果你们中的任何人都知道从java取消查询,这将对我有所帮助.

解决方法:

这里有一些指示,可以帮助:

您可以从另一个Thread调用Statement.cancel来停止该语句

来自javadoc http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#cancel()

Cancels this Statement object if both the DBMS and driver support
aborting an SQL statement. This method can be used by one thread to
cancel a statement that is being executed by another thread.

自5.0版以来,mysql驱动程序支持Statement.cancel

编辑

您还可以使用Statement.setQueryTimeout(int seconds)指定查询可以执行的最长时间

http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#setQueryTimeout(int)

本文标题为:java – 从另一个线程取消MySQL查询执行

基础教程推荐