假设有2个字段要排序。 分别为字段A ,字段B ,都可以ASC DESC
假设有这样一个SQL 语句
SELECT * FROM XXX ORDER BY #{a1} #{b1}
参数传入 A DESC 结果运行没有排序,
假设
SELECT * FROM XXX ORDER BY ${a1} ${b1}
参数第一次运行传入
A DESC 后面每次运行都变成了
SELECT * FROM XXX ORDER BY A DESC 排序另外一个字段B的时候,实际上也就是在排序字段A的效果
<select id="getList" parameterType="hashmap" statementType="STATEMENT" >
定义了statementType="STATEMENT" 还是没有效果
假设有这样一个SQL 语句
SELECT * FROM XXX ORDER BY #{a1} #{b1}
参数传入 A DESC 结果运行没有排序,
假设
SELECT * FROM XXX ORDER BY ${a1} ${b1}
参数第一次运行传入
A DESC 后面每次运行都变成了
SELECT * FROM XXX ORDER BY A DESC 排序另外一个字段B的时候,实际上也就是在排序字段A的效果
<select id="getList" parameterType="hashmap" statementType="STATEMENT" >
定义了statementType="STATEMENT" 还是没有效果
SELECT * FROM XXX ORDER BY ${a1} ,${b1}.
可能我没说明白,只根据一个字段 如果加个逗号变成SELECT * FROM XXX ORDER BY A ,DESC
运行是正常的 ,我觉得是应该用${} 但是语句预编译掉了, ORDER BY 后面的不会改变,顺便再说下,我没有加缓存