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

所属分类: 软件编程 / java 阅读数: 23
收藏 0 赞 0 分享

对于我们学习的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();
 }
 }
 }
}

总结

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

更多精彩内容其他人还在看

SpringBoot环境搭建及第一个程序运行(小白教程)

这篇文章主要介绍了SpringBoot环境搭建及第一个程序运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

过滤器 和 拦截器的 6个区别(别再傻傻分不清了)

这篇文章主要介绍了过滤器 和 拦截器的 6个区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

SpringBoot整合SpringTask实现定时任务的流程

这篇文章主要介绍了SpringBoot整合SpringTask实现定时任务的流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vscode快速引入第三方jar包发QQ邮件

这篇文章主要介绍了vscode快速引入第三方jar包发QQ邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Java Enum和String及int的相互转化示例

这篇文章主要介绍了Java Enum和String及int的相互转化示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring boot如何快速的配置多个Redis数据源

这篇文章主要介绍了Spring boot如何快速的配置多个Redis数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JAVA 对接腾讯云直播的实现

这篇文章主要介绍了JAVA 对接腾讯云直播的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JavaSE static final及abstract修饰符实例解析

这篇文章主要介绍了JavaSE static final及abstract修饰符实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringBoot定时任务参数运行代码实例解析

这篇文章主要介绍了SpringBoot定时任务运行代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Boot调用 Shell 脚本实现看门狗功能

这篇文章主要介绍了Spring Boot调用 Shell 脚本实现看门狗功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多