经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Hibernate » 查看文章
Hibernate中使用HQLQuery查询全部数据和部分数据的方法实例
来源:jb51  时间:2019/3/29 16:06:44  对本文有异议

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

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

  1. package com.lc.view;
  2. import java.util.Iterator;
  3. import java.util.List;
  4. import org.hibernate.Session;
  5. import org.hibernate.Transaction;
  6. import com.lc.domain.Student;
  7. import com.lc.utils.HibernateUtil;
  8. public class selectStudent {
  9. public static void main(String[] args) {
  10. selectSomeStudents();
  11. }
  12. /**
  13. * 1.检索所有的学生
  14. **/
  15. public static void selectAllStudents(){
  16. Session session = null;
  17. Transaction ts = null;
  18. try {
  19. session = HibernateUtil.getCurrentSession();
  20. ts = session.beginTransaction();
  21. List<Student> list = session.createQuery("from Student").list();
  22. //取出数据1.for循环增强
  23. for(Student stu:list){
  24. System.out.println(stu.getSid()+" "+ stu.getSname()+" "+stu.getSdept());
  25. }
  26. //取出数据2.迭代器
  27. System.out.println("------------------------------");
  28. Iterator iterator = list.iterator();
  29. while(iterator.hasNext()){
  30. Student s = (Student) iterator.next();
  31. System.out.println(s.getSid()+" "+ s.getSname()+" "+s.getSdept());
  32. }
  33. ts.commit();
  34. } catch (Exception e) {
  35. if (ts != null) {
  36. ts.rollback();
  37. }
  38. throw new RuntimeException(e.getMessage());
  39. } finally {
  40. if (session != null && session.isOpen()) {
  41. session.close();
  42. }
  43. }
  44. }
  45. /**
  46. * 2.检索部分的学生
  47. **/
  48. public static void selectSomeStudents(){
  49. Session session = null;
  50. Transaction ts = null;
  51. try {
  52. session = HibernateUtil.getCurrentSession();
  53. ts = session.beginTransaction();
  54. /**
  55. *不可以这样去除数据了 因为只有Student对象的两个属性值 不是一个对象
  56. List<Student> list = session.createQuery("select sname,sdept from Student").list();
  57. for(Student stu:list){
  58. System.out.println(stu.getSname()+" "+stu.getSdept());
  59. }**/
  60. List list = session.createQuery("select sname,sdept from Student").list();
  61. for(int i=0;i<list.size();i++){
  62. Object[] obj = (Object[]) list.get(i);
  63. System.out.println(obj[0].toString()+" "+obj[1].toString());
  64. }
  65. ts.commit();
  66. } catch (Exception e) {
  67. if (ts != null) {
  68. ts.rollback();
  69. }
  70. throw new RuntimeException(e.getMessage());
  71. } finally {
  72. if (session != null && session.isOpen()) {
  73. session.close();
  74. }
  75. }
  76. }
  77. }

总结

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号