zoukankan      html  css  js  c++  java
  • 【HQL】分页查询 、对象导航查询、外置命名查询、连接查询、查询过滤器、统计查询

    分页查询

    List students = session.createQuery("from Student")
                            .setFirstResult(1)
                            .setMaxResults(2)
                            .list();
                for (Iterator iter=students.iterator(); iter.hasNext();) {
                    Student student = (Student)iter.next();
                    System.out.println(student.getName());
                }

    对象导航查询

    session = HibernateUtils.getSession();
                session.beginTransaction();
                List students = session.createQuery("from Student s where s.classes.name like '%2%'")
                            .list();
                for (Iterator iter=students.iterator(); iter.hasNext();) {
                    Student student = (Student)iter.next();
                    System.out.println(student.getName());
                }

    外置命名查询

    List students = session.getNamedQuery("queryStudent")
                                        .setParameter(0, 10)
                                        .list();
                for (Iterator iter=students.iterator(); iter.hasNext();) {
                    Student student = (Student)iter.next();
                    System.out.println(student.getName());
                }

    连接查询

    List students = session.createQuery("select c.name, s.name from Student s join s.classes c")
                            .list();
                for (Iterator iter=students.iterator(); iter.hasNext();) {
                    Object[] obj = (Object[])iter.next();
                    System.out.println(obj[0] + ", " + obj[1]);
                }
    List students = session.createQuery("select c.name, s.name from Student s left join s.classes c")
                            .list();
                for (Iterator iter=students.iterator(); iter.hasNext();) {
                    Object[] obj = (Object[])iter.next();
                    System.out.println(obj[0] + ", " + obj[1]);
                }
    List students = session.createQuery("select c.name, s.name from Student s right join s.classes c")
                            .list();
                for (Iterator iter=students.iterator(); iter.hasNext();) {
                    Object[] obj = (Object[])iter.next();
                    System.out.println(obj[0] + ", " + obj[1]);
                }

    查询过滤器

    session.enableFilter("testFilter")
                        .setParameter("myid", 10);
                List students = session.createQuery("from Student").list();
                for (Iterator iter=students.iterator(); iter.hasNext();) {
                    Student student = (Student)iter.next();
                    System.out.println(student.getName());
                }

    统计查询

    List list = session.createQuery("select count(*) from Student").list();
    //            Long count = (Long)list.get(0);
                
                Long count = (Long)session.createQuery("select count(*) from Student").uniqueResult();
    //            Long count = (Long)session.createQuery("select count(*) from Student")
    //                    .setMaxResults(1)
    //                    .uniqueResult();
                System.out.println("count=" + count);
    String hql = "select c.name, count(s) from Classes c join c.students s group by c.name order by c.name";
                List students = session.createQuery(hql).list();
                for (int i=0; i<students.size(); i++) {
                    Object[] obj = (Object[])students.get(i);
                    System.out.println(obj[0] + ", " + obj[1]);
                }
  • 相关阅读:
    I2S波形解析
    F407整点原子I2C波形解码
    WAVE格式文件说明
    ADC结构体初始化成员
    这次,我是真的想吐槽MDK
    I2S源程序(正点原子F407探索者)
    强制类型转换
    嵌套结构体的初始化
    lua 元方法 __index
    lua pairs 与 ipairs
  • 原文地址:https://www.cnblogs.com/yinweitao/p/6006108.html
Copyright © 2011-2022 走看看