我在用着
> jdbcTemplate来使JDBC连接到一个MysqL数据库
>准备好的语句,尽可能保护自己免受sql注入攻击
>需要接受用户对十几个不同列中的数据进行排序的请求
>以下语句
jdbcTemplate.query("SELECT * FROM TABLE1 ORDER BY ? ?",colName,sortOrder);
当然这不起作用,因为变量绑定不应该指定列名称,只是查询中表达式的参数值.
所以…人们如何解决这个问题?只是在Java代码中进行排序似乎是一个简单的解决方案,但是由于我得到一个可以排序列的变量字符串,一个变量告诉我排序顺序….这是比较器条件的丑陋数量盖.这似乎应该是解决它的常见模式的常见问题?