Prepared Statements JDBC JAVA 请求是否与 PHP 的请求类似?

Are Prepared Statements JDBC JAVA requests similar to those of PHP?

例如,此查询在两种语言中是相似的:

    "SELECT District FROM City WHERE Name=?"

但在 JAVA 以下查询不起作用:

    "SELECT District FROM City WHERE Name=:name"

有没有比在JAVA中使用一套询问点更友好的方法?

JDBC PreparedStatement 相似(但不相同)PHP PreparedStatement,当使用 JDBC 绑定参数时 (parameterIndex) 是一个 int。请参阅 Using Prepared Statements and the PreparedStatement Javadoc。假设你有一个 Connection conn 和一个 String name,它可能会像

这样的东西完成
String sql = "SELECT District FROM City WHERE Name=?";
try (PreparedStatement ps = conn.prepareStatement(sql)) {
    ps.setString(1, name);
    try (ResultSet rs = ps.executeQuery()) {
        while (rs.next()) {
            System.out.println(rs.getString("District"));
        }
    }
} catch (SQLException e) {
    e.printStackTrace();
}