这期内容当中小编将会给大家带来有关Hibernate中怎么使用HQLQuery查询全部数据和部分数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
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();
}
}
}
}
上述就是小编为大家分享的Hibernate中怎么使用HQLQuery查询全部数据和部分数据了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。