当前位置: 首页 > 编程笔记 >

Hibernate中使用HQLQuery查询全部数据和部分数据的方法实例

巫化
2023-03-14
本文向大家介绍Hibernate中使用HQLQuery查询全部数据和部分数据的方法实例,包括了Hibernate中使用HQLQuery查询全部数据和部分数据的方法实例的使用技巧和注意事项,需要的朋友参考一下

对于我们学习的HQL,我大概理解为就是一种查询的语言,它没有增加、删除、修改的作用,而对我们用来查询的操作,感觉用起来就是很简便,代码很少,很好理解一些。

下面是查询操作的简单实例

package com.lc.view;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.lc.domain.Student;
import com.lc.utils.HibernateUtil;
public class selectStudent {
 public static void main(String[] args) {
 selectSomeStudents();
 }
 /**
 * 1.检索所有的学生
 **/
 public static void selectAllStudents(){
 Session session = null;
 Transaction ts = null;
 try {
 session = HibernateUtil.getCurrentSession();
 ts = session.beginTransaction();
 List<Student> list = session.createQuery("from Student").list();
 //取出数据1.for循环增强
 for(Student stu:list){
 System.out.println(stu.getSid()+" "+ stu.getSname()+" "+stu.getSdept());
 }
 //取出数据2.迭代器
 System.out.println("------------------------------");
 Iterator iterator = list.iterator();
 while(iterator.hasNext()){
 Student s = (Student) iterator.next();
 System.out.println(s.getSid()+" "+ s.getSname()+" "+s.getSdept());
 }
 ts.commit();
 } catch (Exception e) {
 if (ts != null) {
 ts.rollback();
 }
 throw new RuntimeException(e.getMessage());
 } finally {
 if (session != null && session.isOpen()) {
 session.close();
 }
 }
 }
 /**
 * 2.检索部分的学生
 **/
 public static void selectSomeStudents(){
 Session session = null;
 Transaction ts = null;
 try {
 session = HibernateUtil.getCurrentSession();
 ts = session.beginTransaction();
 /**
 *不可以这样去除数据了 因为只有Student对象的两个属性值 不是一个对象 
 List<Student> list = session.createQuery("select sname,sdept from Student").list();
 for(Student stu:list){
 System.out.println(stu.getSname()+" "+stu.getSdept());
 }**/
 List list = session.createQuery("select sname,sdept from Student").list();
 for(int i=0;i<list.size();i++){
 Object[] obj = (Object[]) list.get(i);
 System.out.println(obj[0].toString()+" "+obj[1].toString());
 }
 ts.commit();
 } catch (Exception e) {
 if (ts != null) {
 ts.rollback();
 }
 throw new RuntimeException(e.getMessage());
 } finally {
 if (session != null && session.isOpen()) {
 session.close();
 }
 }
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • 本文向大家介绍SQL数据分页查询的方法,包括了SQL数据分页查询的方法的使用技巧和注意事项,需要的朋友参考一下 最近学习了一下SQL的分页查询,总结了以下几种方法。 首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图: 现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据。(数据太少,就每页5条了) 方法一: 结果: 此方法是先取出前10条的SID(前两页),排除前10条数据的S

  • 本文向大家介绍python使用clear方法清除字典内全部数据实例,包括了python使用clear方法清除字典内全部数据实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python使用clear方法清除字典内全部数据。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍SVM和全部数据有关还是和局部数据有关?相关面试题,主要包含被问及SVM和全部数据有关还是和局部数据有关?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: SVM只和分类界限上的支持向量点有关,换而言之只和局部数据有关。

  • 我正在处理需要以这种方式读取 firebase 节点的项目: 假设我在Firebase实时数据库中有一个节点。在该节点中,我有消息。当用户在消息框中输入时,我需要显示消息。但是一次阅读所有消息太耗时了。 我想要的是,一次读取消息并将其显示给用户。当用户按下按钮时,我会读取另一个消息并将其显示给用户。依此类推……会更快更方便。 但是我找不到任何方法让事情像这样工作。我尝试了,但是它读取了节点中的所有

  • 本文向大家介绍Struts2+Hibernate实现数据分页的方法,包括了Struts2+Hibernate实现数据分页的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Struts2+Hibernate实现数据分页的方法。分享给大家供大家参考,具体如下: 1.用Hibernate实现分页技术: 2.在Action里调用Hibernate实现分页技术的方法,并跳转到显示界面: 3.st

  • 本文向大家介绍Java8中使用流方式查询数据库的方法,包括了Java8中使用流方式查询数据库的方法的使用技巧和注意事项,需要的朋友参考一下 由于关系型数据库操作语言和面向对象语言之间的差异,如今我们仍然需要花费许多时间建立数据库与 Java 应用之间互相沟通的桥梁。通常,我们可以编写自己的映射层(mapping layer),或者使用第三方的 ORM(Object Relational Mappe