全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hibernate HQL条件查询的参数传递方法HQL支持where实现条件查询,与sql语法相似例如查找姓名中含有1的学生信息:String hql = select s.id, from Student s where like %1%;tryListlist = session.createQuery(hql).list();for(Iteratorit = list.iterator();it.hasNext();)Object obj = (Object) it.next();System.out.println(obj0+-+obj1);hql查询如果需要传入参数,可以采用下面方式:*可以采用拼字符串的方式传递参数*可以采用占位符?来传递参数(索引从0开始,传递的值不用单引号)*可以采用:参数名来传递参数*如果传递多个参数,可以采用setParamterList方法拼字符串的方式传递参数:String param =1;String hql =select id,name from Student s where like %+param+%占位符?来+setParameter(索引,参数值)(索引从0开始)String hql =select id,name from Student s where like ?;/从Student实体类对应的表中找name属性对应的字段Query query = session.createQuery(hql);query.setParameter(0, %1%);/注意这里不需要加单引号,设置参数进去时会自动加上单引号List list = query.list();/返回list中每个元素是一个数组,数组中依次为包含hql查询中的属性占位符?+方法链+setParameter(索引,参数值)从api文档中可以看到createQuery()返回的都是Query对象,因此可以继续调用Query的方法。setParameter()方法也是。利用这种调用函数返回的还是本类对象的特点可以采用方法链编程方式简化写法:String hql =select id,name from Student s where like ?;List list =session.createQuery(hql).setParameter(0, %1%).list();方法链+连续setParameter(参数名,参数值)传递参数String hql = select id,name from Student s where like:mynameand s.id:myid;List list = session.createQuery(hql).setParameter(myname, %1%).setParameter(myid, 40).list();setParamterList(参数名,参数值集合)方法)传递多个参数(参数值集合可以是任意集合类,例如List、Set、Array)(上面的方式可以传递多个参数,例如可以设多个?,传多个参数,但不太适用于参数个数变化的情况=)问号的个数变化)SetmyIds =newHashSet();myIds.add(20);myIds.add(30);myIds.add(40);myIds.add(50);String hql =select id,name from Student s where s.id in (:myids);Listlist = session.createQuery(hql).setParameterList(myids, myIds).list();注意使用占位符方式时,下面这种写法是错误的:因为Hibernate传入参数时会自动上单引号,我们可以想象这样写最后得到的hql语句为:select id,name from Student s where like %1%;显然是有问题的,会出现报错。String hql =select id,name from Stud
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业企业节能减排技术汇编
- 四年级语文写作能力培养方案
- 项目风险管理关键要素清单
- 普通话考试高分突破训练题集
- 2025中国新型显示技术市场发展现状及前景预测报告
- 2025中国数据中心行业竞争格局分析及能效提升与投资价值研究报告
- 2025中国数据中心机房空气洁净度维护方案与设备选型报告
- 2025中国数字经济产业生态与创新发展研究报告
- 2025中国教育边缘计算行业市场现状及未来应用研究报告
- 2025中国教育脑机接口行业市场调研与投资机会评估报告
- 生涯发展报告书模板
- GB/T 693-2024化学试剂三水合乙酸钠(乙酸钠)
- 2023年江苏省五年制专转本英语统考真题(试卷+答案)
- 上海市2024年春季高三英语统一考试试题(含解析)
- 22G101三维彩色立体图集
- (正式版)HG∕T 20644-2024 弹簧支吊架选用标准
- 数字化设计与制造课程教学大纲
- 人教版小学英语单词表(完整版)
- 自家停车位申请按照充电桩四方协议书
- 生产组织供应能力说明
- DL-T 1476-2023 电力安全工器具预防性试验规程
评论
0/150
提交评论