Java 有一些研究要做。。更新数据库的应用程序是自动提交的,因为我没有指定任何内容@brettw已经给了我解决方案,问题在于我在读取表时没有指定任何事务隔离级别。所以我认为幻影阅读是不允许的。顺便说一句,非常感谢您提到事务隔离,我真的从中学到了很多…哦,关于消息队
Java 有一些研究要做。。更新数据库的应用程序是自动提交的,因为我没有指定任何内容@brettw已经给了我解决方案,问题在于我在读取表时没有指定任何事务隔离级别。所以我认为幻影阅读是不允许的。顺便说一句,非常感谢您提到事务隔离,我真的从中学到了很多…哦,关于消息队,java,mysql,loops,triggers,database-connection,Java,Mysql,Loops,Triggers,Database Connection,有一些研究要做。。更新数据库的应用程序是自动提交的,因为我没有指定任何内容@brettw已经给了我解决方案,问题在于我在读取表时没有指定任何事务隔离级别。所以我认为幻影阅读是不允许的。顺便说一句,非常感谢您提到事务隔离,我真的从中学到了很多…哦,关于消息队列。您的意思是将其用作触发器的替代方案,还是仅用于如何让其他应用程序知道?我读过,但我不明白它是如何替代触发器来检测数据库上的更改..嗨,thx的信息。我刚刚读了一些关于事务隔离的解释,看起来我还有一些研究要做。。更新数据库的应用程序是自动提交
有一些研究要做。。更新数据库的应用程序是自动提交的,因为我没有指定任何内容@brettw已经给了我解决方案,问题在于我在读取表时没有指定任何事务隔离级别。所以我认为幻影阅读是不允许的。顺便说一句,非常感谢您提到事务隔离,我真的从中学到了很多…哦,关于消息队列。您的意思是将其用作触发器的替代方案,还是仅用于如何让其他应用程序知道?我读过,但我不明白它是如何替代触发器来检测数据库上的更改..嗨,thx的信息。我刚刚读了一些关于事务隔离的解释,看起来我还有一些研究要做。。更新数据库的应用程序是自动提交的,因为我没有指定任何内容@brettw已经给了我解决方案,问题在于我在读取表时没有指定任何事务隔离级别。所以我认为幻影阅读是不允许的。顺便说一句,非常感谢您提到事务隔离,我真的从中学到了很多…哦,关于消息队列。您的意思是将其用作触发器的替代方案,还是仅用于如何让其他应用程序知道?我读过这篇文章,但我不明白触发器如何替代它来检测数据库上的更改。虽然这段代码可能会回答这个问题,但提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。虽然这段代码可能会回答这个问题,提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。
public static void main(String[] args) {
Connection conn = null;
try {
conn = database.getConnection();
Statement state = conn.createStatement();
String query = "select * from `xtable`;";
while (true) {
ResultSet rs = state.executeQuery(query);
while(rs.next){
// Some code for letting the other application know of the change
}
}
} catch (SQLException ex) {
} finally {
if (conn != null) {
conn.close();
}
}
}
Connection connection=getConnection();
statement="query";
try {
stmt = connection.prepareStatement(statement);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (connection != null && stmt != null) {
stmt.close();
}
}