为什么我们使用setInt和select查询而不是在数据库中已存在值时使用getInt?
try { conn = getConnection(); ps = conn.prepareStatement("SELECT * FROM circle where id =?"); ps.setInt(1, circleId); Circle circle = null; rs = ps.executeQuery(); if (rs.next()) { //String s = rs.getString(circleId); circle = new Circle(circleId, rs.getString("name")); }
Jon Skeet.. 7
您正在设置要在查询中使用的参数的值.将?
在SQL代表的参数,在这里你给它的值.
当您getString()
稍后调用时,将从查询结果中获取一个值,该值与作为查询一部分发送的参数非常不同.
参数化SQL允许将值安全地包含在查询中,而无需转义它们以防止SQL注入攻击或担心数据类型转换.您应该阅读JDBC PreparedStatement
教程以获取更多详细信息.
您正在设置要在查询中使用的参数的值.将?
在SQL代表的参数,在这里你给它的值.
当您getString()
稍后调用时,将从查询结果中获取一个值,该值与作为查询一部分发送的参数非常不同.
参数化SQL允许将值安全地包含在查询中,而无需转义它们以防止SQL注入攻击或担心数据类型转换.您应该阅读JDBC PreparedStatement
教程以获取更多详细信息.