在 JDBC 中避免 SQL 重复

Avoid SQL duplication in JDBC

我正在努力避免 SQL 重复。我在这里 how to prevent duplication. Java,SQL 找到了这段成功的代码。我知道 rs.next 会移动光标,但它如何帮助避免重复(它是否比较每个值)?所做的只是检查是否还有另一行,如果有 return 正确吗?

Connection conn = // Connect to the database... 
PreparedStatement ps = 
    conn.prepareStatement("SELECT username FROM login where username = ?";
ps.setString(1, value1);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
    JOptionPane.showMessageDialog
        (null,"username is already existed! please create new username.");   
}

您的代码非常简单。您进行查询以获取 table login 的所有行,其中 username = XXX。然后你通过执行rs.next()函数检查ResultSet中是否有任何数据。此函数 returns 一个 boolean 值,当 rs 中还有更多数据时为 true,当没有更多数据时为 false

正如你所说,它也会移动光标。

Does it compare every value(row)?

是的。您的查询查找每一行并检查是否 username = XXX