zoukankan      html  css  js  c++  java
  • hibernated的HQL查询操作总结

    只粘贴部分关键代码

    1.简单查询

              Session session = hibernateUtils.getCurrentSession();
              Transaction transaction =  session.beginTransaction();
              Query query = session.createQuery("from Customer");
              List<Customer> list = query.list();
              for(Customer customer : list) {
                 System.out.println(customer);
              }
              transaction.commit();

    2.条件查询

     Session session = hibernateUtils.getCurrentSession();
                  Transaction transaction =  session.beginTransaction();
    //            Query query = session.createQuery("from Customer where cust_name = ?");
                  Query query = session.createQuery("from Customer where cust_name = ? and cust_source like ?");
                  query.setParameter(0, "xxx");
                  query.setParameter(1, "a%");
                  List<Customer> list = query.list();
                  for(Customer customer : list) {
                     System.out.println(customer);
                  }
                  transaction.commit();

    3.投影查询

     Session session = hibernateUtils.getCurrentSession();
                  Transaction transaction =  session.beginTransaction();
    //              Query query = session.createQuery("select c.cust_name from Customer c");
    //              Query query = session.createQuery("select c.cust_name,c.cust_source from Customer c");
                  Query query = session.createQuery("select new Customer(cust_name,cust_source) from Customer c");
    //              List<Object[]> list = query.list();
                  List<Customer> list = query.list();
                  for(Customer customer : list) {
                     System.out.println(customer);
                  }
                  transaction.commit();
        

    4.分页查询

                 Session session = hibernateUtils.getCurrentSession();
                  Transaction transaction =  session.beginTransaction();          
                  Query query = session.createQuery(" from LinkMan");
                  query.setFirstResult(10);//从第几条开始查,比如这句话的意思是从第十一条开始查
                  query.setMaxResults(5);
                  List<LinkMan> list = query.list();
                  for(LinkMan man : list) {
                     System.out.println(man);
                  }
                  transaction.commit();

    5.分组统计查询

                        Session session = hibernateUtils.getCurrentSession();
                      Transaction transaction =  session.beginTransaction();          
                      List<Object[]> list = session.createQuery("select lkm_name,count(*) from LinkMan group by lkm_name").list();
                      for(Object[] objects : list) {
                          System.out.println(Arrays.toString(objects));
                      }
                      transaction.commit();
  • 相关阅读:
    Eygle力荐:Oracle 19c升级文档、视频、问答集锦
    每日一题 2020.05.11
    “前浪”数据仓库和大数据平台,到“后浪”数据中台的演变史
    面向对象例子
    super()调用父类方法
    iOS视图控制器初始化问题
    详解EBS接口开发之更新供应商付款方法
    oracle对大对象类型操作:blob,clob,nclob
    "ORA-20100: 为 FND_FILE 创建文件 o0003167.tmp 失败"
    错误 frm-40654 记录已经被另一个用户更新,重新查询以查看修改
  • 原文地址:https://www.cnblogs.com/yanqingguo/p/9757705.html
Copyright © 2011-2022 走看看