Hibernate模糊查询

和SQL查询一样,Hibernate,HQL使用like关键字进行模糊查询。模糊查询能够比较字符串是否与指定的字符串模式匹配。其中使用通配符表示:如下
%(百分号):匹配任意类型、任意长度的字符串,中文则需要两个百分号"%%"
_(下划线):匹配单个任意字符,一般用来限制字符串表达式的长度。
下面举例说明:
1.检索姓名以"M"开头的同学:
String queryString="from studentInfo s where s.sname like 'S%'";

2.检索姓名中包含字符串"abc"的学生对象:
String queryString="from studentInfo s where s.sname like '%abc%'";

3.检索以S开头,并且字符串长度为5的学生对象:
String queryString="from studentInfo s where s.sname like 'S___'"; 四个下划线""

4.实例:检索学生姓名中含有"王"的所有学生:

String queryString = "from StudentInfo s where s.sname like'%"+sname+"%'"; 注意这个HQL语句的拼接部分,不能写错!

DAO如下:

public List findBySname(Object sname) {
log.debug("finding all StudentInfo instances");
try {
//String queryString = "from StudentInfo s where s.name like '%"+sname+"%'";
String queryString = "from StudentInfo s where s.sname like'%"+sname+"%'";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();

    } catch (RuntimeException re) { 
        log.error("find all failed", re); 
        throw re; 
    } 
}

页面即可输出这个List集合了。

转载于:https://www.cnblogs.com/CoderLiLe/p/5972876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值