【发布时间】:2014-07-27 05:24:40
【问题描述】:
我在遍历所有记录时遇到了很多麻烦。也许,通过阅读我的代码,有人可以提供帮助。
private String saveData(Handle handle, String username, String name, String prof, String table) {
String sqlCommand;
Map<String, Object> userResults;
for (Integer tableNum = 1; tableNum < 5; tableNum++) {
//query all tables
sqlCommand = String.format("SELECT varname FROM s" + tableNum.toString());
userResults = handle.createQuery(sqlCommand)
.bind("username", username)
.first();
//attempt to ierate all records
for (Map.Entry<String, Object> entry : userResults.entrySet()) {
Object obj = entry.getValue(); // doesnt have .get(string) as below
}
//get the desired field
logger.debug("Results: " + userResults.toString());
String varname = (String) userResults.get("varname");
if ((varname.toLowerCase()).matches(name.toLowerCase()))
return "";
}
//save data
return name;
}
如何遍历表的每条记录?
【问题讨论】:
-
这不是在 Java 中查询数据库的标准方法,因此您至少应该解释一下
Handle是什么以及它是如何工作的。 -
用 Java 查询数据库的标准方法是什么?
-
使用 JDBC(或通过 JPA 等更高级别的框架)。