hql 命名参数 like 怎么使用?

hql 命名参数 like 怎么使用?,第1张

确定给定的字符串是否与指定的模式匹配,模式可以包含常规字符和通配符字符,模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。

1、语法match_expression_r_r [ NOT ] LIKE pattern [ ESCAPE escape_character ],参数match_expression_r_r任何字符串数据类型的有效 SQL Server 表达式。

2、pattern,match_expression_r_r 中的搜索模式,可以包含下列有效 SQL Server 通配符示例% 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。

3、_(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。

4、[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏escape_character字符串数据类型分类中的所有数据类型的任何有效 SQL Server 表达式。escape_character 没有默认值,且必须仅包含一个字符。

一、绑定参数法:

Sql代码

Session session=HibernateUtil.getSessionFactory

().getCurrentSession()

session.beginTransaction()

String strSQL="from Classes as a where a.classno like :name"

Query query = session.createQuery(strSQL)

query.setString("name", "%"+OId+"%")

List result=query.list()

[sql] view plaincopyprint?

Session session=HibernateUtil.getSessionFactory

().getCurrentSession()

session.beginTransaction()

String strSQL="from Classes as a where a.classno like :name"

Query query = session.createQuery(strSQL)

query.setString("name", "%"+OId+"%")

List result=query.list()

Session session=HibernateUtil.getSessionFactory

().getCurrentSession()

session.beginTransaction()

String strSQL="from Classes as a where a.classno like :name"

Query query = session.createQuery(strSQL)

query.setString("name", "%"+OId+"%")

List result=query.list()

二、在面向对象的查询语言 HQL 中

Sql代码

Session session = HibernateUtil.getSessionFactory().getCurrentSession()

session.beginTransaction()

List result=session.createQuery("from Classes as a where a.classno

like " '%"+OId+"%'").list()

[sql] view plaincopyprint?

Session session = HibernateUtil.getSessionFactory().getCurrentSession()

session.beginTransaction()

List result=session.createQuery("from Classes as a where a.classno

like " '%"+OId+"%'").list()

Session session = HibernateUtil.getSessionFactory().getCurrentSession()

session.beginTransaction()

List result=session.createQuery("from Classes as a where a.classno

like " '%"+OId+"%'").list()

三、模糊查询参数化

Sql代码

Session session=HibernateUtil.getSessionFactory().getCurrentSession()

session.beginTransaction()

List result=session.createQuery("from Classes as a where a.classno

like :name").setParameter("pid",OId).list()

[sql] view plaincopyprint?

Session session=HibernateUtil.getSessionFactory().getCurrentSession()

session.beginTransaction()

List result=session.createQuery("from Classes as a where a.classno

like :name").setParameter("pid",OId).list()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11201437.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存