解決hql查詢條件 不能帶下劃線'_'的問題

方法:

    hql.append(" and icon like :icon escape '~' ");
    parameters.put("icon", this.getLikeKeyworkdLike12(icon));

    /**

     * like12 add,20190417,解決hql查詢條件 不能帶下劃線'_'的問題
     * (需配合“escape '~'”使用)
     * @param keyword
     * @return
     */
    public String getLikeKeyworkdLike12(String keyword) {
        keyword = keyword.replace("_", "~_");
        return "%" + keyword + "%";
    }

 

原因:

簡單的說,要把待查詢的字符串裏面的_和%替換爲\_和\%
還有一種寫法,如 select * from user where name like '%/%%' escape '/'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章