问题描述:
在使用如下代码进行排序的时候,入参是【create_time desc】发现排序的结果不生效,最终的结果还是正序,并没有达到我们想要的结果
<sql id="QUERY_ORDER_LIMIT_CONDTION">
<if test="orderBy != null and orderBy != ''"><![CDATA[ORDER BY #{orderBy}]]></if>
</sql>
问题原因:
问题的本质原因是因为使用了 #{} 这种占位符的方式拼接sql
在#{}转换入参的过程中,最后的语句实际上是 ORDER BY 'create_time desc',
传递参数的时候mybatis转换的时候,会默认给加上单引号
参考链接:https://blog.csdn.net/m0_37222553/article/details/106303722