搜索
您的当前位置:首页正文

jdbcTemplate查询,in中参数的入参

来源:爱go旅游网

  为避免sql注入,现在jdbctemplate的入参基本都使用设值的方式。当jdbctemplate对数组类型的参数支持不太好。
  解决方法:使用NamedParameterJdbcTemplate

    public List<UserPO> queryUserList(List<Integer> uIdList) {
        StringBuilder sql = new StringBuilder();
        sql.append(" select             ");
        sql.append("     a.uname,    ");
        sql.append("     a.age   ");
        sql.append(" from user a   ");
        sql.append(" where               ");
        sql.append("   a.uid in (:uIdList)               ");
        MapSqlParameterSource param = new MapSqlParameterSource();
        param.addValue("uIdList",uIdList);
        NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
        List<UserPO> data = namedParameterJdbcTemplate.query(sql.toString(), param, new BeanPropertyRowMapper(UserPO.class));
        return data;
    }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top