java在JDBC的查询WHERE子句中指定变量名
请有人给我一个链接,介绍如何在JDBC中创建一个在WHERE语句中获取变量名的查询,或者编写一个示例。更具体地说,我的代码如下所示:
private String getLastModified(String url) {
String lastModified = null;
ResultSet resultSet;
String query = "select LastModified from CacheTable where " +
" URL.equals(url)";
try {
resultSet = sqlStatement.executeQuery(query);
}
现在,我需要能够返回ResultSet对象的语法,其中cacheTable中的URL等于方法参数中的URL
谢谢
# 1 楼答案
为了更进一步,您应该真正使用apachecommons或Sping JDBC框架中的DBUtils。由于JDBC涉及的步骤很多,因此很多JDBC工作都很平凡且容易出错。这两个链接都有工作示例供您开始使用
这些助手库将使您的生活更加舒适:-)
# 2 楼答案
最简单的方法是
不过,您应该使用绑定变量:
# 3 楼答案
澄清一个误解:JDBC和SQL是两个完全不同的东西。数据库只理解SQL语言。这是一个你可以学习的(半)标准。JDBC只是一个JavaAPI,它使您能够使用Java代码执行SQL语言。没有更少,没有更多。JDBC不是Java编写SQL语言的方式。它只是Java代码和数据库之间的信使。您可以学习JDBChere
也就是说,是的,^{} 是在SQL查询中设置值的方法。它不仅简化了使用
setXXX()
方法在SQL字符串中设置具有完整性的Java对象,而且还使您免受SQL injection攻击