Hibernate模糊查询

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

和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集合了。

目录
相关文章
|
6月前
|
SQL XML Java
Mybatis系列(二)之动态SQL和模糊查询
Mybatis系列(二)之动态SQL和模糊查询
|
5月前
|
Java 关系型数据库 MySQL
MyBatis模糊查询like的三种方式
MyBatis模糊查询like的三种方式
|
5月前
|
SQL 缓存 Java
什么是hibernate N+1查询
什么是hibernate N+1查询
|
6月前
|
SQL Java 数据库连接
“MyBatis中的动态SQL、模糊查询与结果映射“
“MyBatis中的动态SQL、模糊查询与结果映射“
157 0
|
10月前
|
SQL Java 大数据
Mybatis单表操作之普通操作、模糊查询、分页查询、动态SQL
Mybatis单表操作之普通操作、模糊查询、分页查询、动态SQL
156 0
|
Java 关系型数据库 MySQL
七、MyBatis实现模糊查询的三种方式
由于#{}是占位符本身,自带单引号,所以在模糊查询时需要一些技巧。
152 0
七、MyBatis实现模糊查询的三种方式
|
Java 数据库连接 mybatis
【MyBatis】多关键字的模糊查询
【MyBatis】多关键字的模糊查询
152 0
【MyBatis】多关键字的模糊查询
|
Java 数据库连接 mybatis
【MyBatis】学习笔记07:模糊查询
【MyBatis】学习笔记07:模糊查询
62 0
|
Java 数据库连接 mybatis
mybatis学习(19):模糊查询#
mybatis学习(19):模糊查询#
97 0
mybatis学习(19):模糊查询#
|
Java 数据库连接 mybatis
mybatis学习(20):模糊查询$
mybatis学习(20):模糊查询$
92 0
mybatis学习(20):模糊查询$