zoukankan      html  css  js  c++  java
  • HQL中的Like查询需要注意的地方

    public List getOrgan(String organCode, String organName) {
        String hsql;
        List list;

        if (organCode != null && organCode.length() > 0) {
         hsql = "from Ab31 where bae002 = ? and aab061 like ?";
         list = getHibernateTemplate().find(hsql, new Object[] { organCode, '%' + organName + '%' });
         }

        else {
         hsql = "from Ab31 where aab061 like ?";
         list = getHibernateTemplate().find(hsql, '%' + organName + '%');
         }

        return list;
    }

    我在HQL中like查询的时候按照SQL语法用双引号组合 "%' "+ organName + "'%" 查不到任何结果,所以必须注意这里只能使用单引号,如:'%' + organName + '%' ,多个【占位符】用new Object[] { organCode,organName } 来填充

    like语法简介:

    %    表示任意个数的任意字符

    _    表示任意一个字符

    [abcdefg]   表示里面的字符任何一个,只取一个

    [^c]           表示里面的字符不包含c

    [a-z]          表示区间中的任一个,如c或d等

    [^a-z]        表示非区间中的任一个

    escape '/'     转义符,表示/之后的字符不是特殊字符。

    like '%商品/%模板%' escape '/'    可以查出   商品%模板 特殊字符

  • 相关阅读:
    欧几里德算法
    int 和 string 相互转换(简洁版)
    骆驼吃香蕉
    链表反转 (Multi-method)
    二分查找 (最经典代码,及其边界条件的实践分析)
    mottoes
    欧拉函数,欧拉定理,费马小定理。
    深搜和广搜的对比
    Python基础
    马拉车求最大回文字串
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/4073585.html
Copyright © 2011-2022 走看看