dao
List<TProject> queryProjectByCondition(ProjectParamByCondition projectParamByCondition);
xml文件
<select id="queryProjectByCondition" resultType="cn.cdqf.mydmsjportal.pojo.TProject">
select *
from t_project where 1=1
<if test="typeId!=-1">
and typeId=#{typeId}
</if>
<if test="status!=-1">
and status=#{status}
</if>
<if test="projectName!='' and projectName!=null ">
and projectName like concat('%',#{projectName},'%')
</if>
<if test="orderBy!='-1'">
ORDER BY #{orderBy} DESC
</if>
</select>
原因与解决
ORDER BY #{orderBy} DESC会被解析成ORDER BY “orderBy” DESC,也就是会加上引号,这是为了解决sql注入,如果要不加引号,可以使用$符号,ORDER BY ${orderBy} DESC就可以了。