前提: order by #{param1} #{param2} ,排序字段 和 排序順序字段是作為參數傳遞進來的
因為#{}格式的文法會将sql語句進行預處理,最終會用字元串替換 傳遞進來的參數,這時排序就不起作用了,我們可以用order by ${param1} ${param2} 來替換。但是,這會導緻潛在的SQL注入攻擊,是以不應該允許使用者輸入這些字段。
如果排序字段必須是由使用者傳遞進來的,那麼,就必須手動過濾一下輸入的内容,判斷輸入的參數的長度是否正常(注入語句一般很長),更精确的判斷輸入的參數是否安全 或者非法