SELECT * FROM `student` ORDER BY :sortName :sortDir Limit :limitFrom,:limitCount;

代码Java:
    Map<String, Object> paramMap = new HashMap<String, Object>();
    paramMap.put("sortName", "%" + sortName + "%");
            paramMap.put("sortDir", sortDir);
            paramMap.put("limitFrom", pageIndex * pageSize);
            paramMap.put("limitCount", pageSize);
    List<Student> list = (List<Student>) super.getNamedParameterJdbcTemplate().query(sqlSearch, paramMap, new StudentMapper());

protected NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() {
        return namedParameterJdbcTemplate;
    }

输入是(pageIndex,pageSize,sortName,sortDir)=(2,2,“id”,“desc”)
实际输出:8 9 10 11(带ID)
期望值:11 10 9 8

最佳答案

?:param这样的占位符只能用于参数值,而不能用于列名,排序和分页。对于这些要求,您应该安全将字符串连接在一起。

07-24 09:54