@RequestMapping(value="/local/instances", method = RequestMethod.GET) public Map getLocalInstances( @RequestParam String page,@RequestParam String limit,@RequestParam(required = false) String searchip,@RequestParam(required = false) String searchport){ String countsql = "SELECT COUNT(*) AS ALLCOUNT FROM MICROSERVICE"; String querySql = "SELECT * FROM MICROSERVICE"; Map map = null; if (!StringUtils.isEmpty(searchip) || !StringUtils.isEmpty(searchport)){ countsql = countsql + " WHERE "; querySql = querySql + " WHERE "; map = new HashMap(); } if (!StringUtils.isEmpty(searchip)){ countsql = countsql + "IP LIKE (:searchip) AND "; querySql = querySql +"IP LIKE (:searchip) AND "; map.put("searchip","%" + searchip + "%"); } if (!StringUtils.isEmpty(searchport)){ countsql = countsql + "MICROPORT LIKE (:searchport) AND "; querySql = querySql +"MICROPORT LIKE (:searchport) AND "; map.put("searchport","%" + searchport + "%"); } countsql = countsql.substring(0,countsql.lastIndexOf("AND ") == -1?countsql.length():countsql.lastIndexOf("AND ")); querySql = querySql.substring(0,querySql.lastIndexOf("AND ") == -1?querySql.length():querySql.lastIndexOf("AND ")); Map result = new HashMap(); try { int pageInt = Integer.parseInt(page); int tempPage = (pageInt - 1)*Integer.parseInt(limit); long count; if (map != null){ count = (long) namedParameterJdbcTemplate.queryForMap(countsql,map).get("ALLCOUNT"); result.put("data",namedParameterJdbcTemplate.queryForList(querySql+" LIMIT "+tempPage+","+pageInt*Integer.parseInt(limit),map)); }else { count = (long) jdbcTemplate.queryForMap(countsql).get("ALLCOUNT"); result.put("data",jdbcTemplate.queryForList(querySql+" LIMIT "+tempPage+","+pageInt*Integer.parseInt(limit))); } result.put("code", 0); result.put("msg", ""); result.put("count", count); }catch (EmptyResultDataAccessException e) { return result; } return result; }
jdbc中使用like模糊查询时使用绑定变量的方法
最新推荐文章于 2023-11-10 14:32:04 发布