标签:存储 rs where 字段 xsd 查询数据库 cs null itemName
create or replace procedure p_compare(p_name IN varchar2, po_result in out SYS_REFCURSOR) is begin OPEN po_result FOR select * from (select t.*, UTL_MATCH.edit_distance_similarity(p_name, t.item_name) AS xsd FROM T_CATALOG_MESSAGE t where t.data_valid_flag = '1') where 1 = 1 and xsd > 40 order by xsd desc; end p_compare;
java调用存储过程
/** * 根据事项名称查询所有复核条件的事项 * @param filterMap * @param pageDesc * @return */ public JSONArray queryAllItemByitemName(Map<String, Object> filterMap, PageDesc pageDesc) { String itemName=String.valueOf(filterMap.get("itemName")); JSONArray jsonArray =new JSONArray(); //模糊查询 /*sql+=" select * from t_catalog_message t where t.data_valid_flag = '1' " +" [:(like)itemName | and t.item_name like :itemName ] " +"[ :departmentLineId| and INSTR(:departmentLineId,T.department_line_id)>0 ] " +" order by t.ins_time desc ";*/ String sql =""; /*sql+=" select * from (" + " select t.*, UTL_MATCH.edit_distance_similarity('1',t.item_name) AS xsd FROM T_CATALOG_MESSAGE t " +" where t.data_valid_flag = '1' )" + " where 1=1 and xsd>40 " +"[ :departmentLineId| and INSTR(:departmentLineId,T.department_line_id)>0 ] " +" order by xsd desc ";*/ /*QueryAndNamedParams params = QueryUtils.translateQuery(sql.toString(), filterMap); JSONArray jsonArray = DatabaseOptUtils.listObjectsByNamedSqlAsJson(this, params.getQuery(), params.getParams(), pageDesc);*/ CallableStatement cs=null; Connection connection=null; ResultSet rs = null; ResultSetMetaData md=null; try { connection= this.jdbcTemplate.getDataSource().getConnection(); cs = connection.prepareCall("{call p_compare(?,?)}"); cs.setString(1, itemName); cs.registerOutParameter(2, OracleTypes.CURSOR); cs.execute(); rs = (ResultSet) cs.getObject(2); while (rs.next()) { JSONObject jsonObject=new JSONObject();// System.out.println(rs.getString(1) + " : " + rs.getString(2)); jsonObject.put("itemName", rs.getString(3)); jsonObject.put("baseCode", rs.getString(4)); jsonArray.add(jsonObject); } } catch (SQLException throwables) { throwables.printStackTrace(); }finally{ try { if(rs!=null){ rs.close(); } if (cs!=null) { cs.close(); } if(connection!=null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } return jsonArray; }
标签:存储,rs,where,字段,xsd,查询数据库,cs,null,itemName 来源: https://www.cnblogs.com/qxqbk/p/15216363.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。