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就可以了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐