public List> query(String sql, Object[] parameters)
throws Exception {
Connection conn = DBUtil.getConnect();
PreparedStatement pstmt;
ResultSet rs;
pstmt = (PreparedStatement) conn.prepareStatement(sql);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < parameters.length; i++) {
pstmt.setObject(i, parameters[i]);// 填充sql 语句
}
// 获取结果集
rs = pstmt.executeQuery();
// 之后将获取的每一条记录封装到一个类中
while (rs.next()) {
Map map = new HashMap();
for (int i = 0; i < parameters.length; i++) {
pstmt.setObject(i, parameters[i]);// 填充sql 语句
}
list.add(map);
}
return list;
}
测试:
sql = "select * from user_info where id > ? order by id asc";
List<Map<String, Object>> userList = databaseFactory.query(sql);
userList = databaseFactory.query(sql, new Object[]{2});
if(userList != null) {
for(Map<String, Object> user : userList) {
System.out.println("username=" + user.get("username"));
System.out.println("password=" + user.get("password"));
System.out.println("inquiry2 ok");
System.out.println("--------------------------------------");
}
}
第一个方法应该怎么修改?