首页 > 代码库 > 使用预处理PreparedStatement执行Sql语句
使用预处理PreparedStatement执行Sql语句
/** * 使用预处理的方式执行Sql * @param sql Sql语句 * @param obj 变量值数组 * @return 查询结果 * @throws SQLException */ public List<Map<String, Object>> query(String sql, Object[] obj) throws SQLException { List<Map<String, Object>> ret = null; PreparedStatement ps = null; ResultSet rs = null; try { log.debug("start sql="+sql); ps = conn.prepareStatement(sql); if(obj != null && obj.length > 0){ for (int i = 0, len = obj.length; i < len; i++) { ps.setObject(i + 1, obj[i]); log.debug("parameterValue: " + obj[i]); } } rs = ps.executeQuery(); ResultSetMetaData rmd = rs.getMetaData(); ret = new ArrayList<Map<String,Object>>(); while (rs.next()) { Map<String, Object> rowMap = new LinkedHashMap<String, Object>(); for (int i = 1, count = rmd.getColumnCount() + 1; i < count; i++) { rowMap.put(rmd.getColumnName(i), rs.getObject(i)); } ret.add(rowMap); } } catch (SQLException e) { log.debug("执行sql语句失败,sql: " + sql + "," + e.getMessage()); throw e; } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } } return ret; }
使用预处理PreparedStatement执行Sql语句
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。