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();
            }
        }