mybatis的order by传入参数失效

事情是这样的,bootstrap table 的column有个选项sortable,我想试试,参数传到后台了,然而没反应
原来的mybatis这样写

<if test="sortName != null and sortOrder != null "><![CDATA[ORDER BY #{sortName} #{sortOrder} ]]>

网上说这里不能用#,因为会给它两边加上双引号,要用$
用$成功了,但是效率不好,他们又说用枚举
于是我把条件写成这个傻瓜样子,不想用choose,choose太丑(好吧其实我用过,但是……)

<if test='sortName == "floor" and sortOrder == "asc"'><![CDATA[ORDER BY floor ASC]]></if>
<if test='sortName == "floor" and sortOrder == "desc"'><![CDATA[ORDER BY floor DESC]]></if>
<if test='sortName == "plate" and sortOrder == "asc"'><![CDATA[ORDER BY plate ASC]]></if>
<if test='sortName == "plate" and sortOrder == "desc"'><![CDATA[ORDER BY plate DESC]]></if>

这里注意判断字符串相等用单引号把test括起来,用双引号把字符串括起来
他们说还有另一种写法,这样的

<if test=“sortName == ‘plat’.toString() and sortOrder ==desc.toString()><![CDATA[ORDER BY plate DESC]]></if>

唉反正你高兴吧,我高高兴兴的每个都试了一遍,还是没有反应,怎么回事

瞪着眼睛找了好久终于发现了不对劲,我真的该去看眼科了,我传入的参数是sortOrder,但是我写成了orderType……一直懵逼,行吧
mybatis的order by传入参数失效_第1张图片
上面已经改过来了mybatis的order by传入参数失效_第2张图片

你可能感兴趣的:(mybatis)