criteria.add(Restrictions.like("nickname", user.getNickname()+"' escape'\"));
接下來可能會想到使用Hibernate3的原生sql查詢,其實我們不需要這樣做。我們還是使用Criteria條件查詢。
* 轉義like語句中的
* <code>'_'</code><code>'%'</code>
* 將<code>'?'</code>轉成sql的<code>'/_'</code>
* 將<code>'%'</code>轉成sql的<code>'/%'</code>
* <p>
* 例如搜索<code>?aa*bb?c_d%f</code>將轉化成<br/>
* <code>_aa%bb_c/_d/%f</code>
* </p>
* @param likeStr
* @return
* @author <a href="http://jdkcn.com">somebody</a>
*/
public static String escapeSQLLike(String likeStr) {
String str = StringUtils.replace(likeStr, "_", "/_");
str = StringUtils.replace(str, "%", "/%");
str = StringUtils.replace(str, "?", "_");
str = StringUtils.replace(str, "*", "%");
return str;
}
除經特別註明外,本文章版權歸莫多泡泡所有.
署名,非商業用途,保持一致. somebody(莫多)