• Criteria查询


    1、Criteria表达式

      Criteria c=session.createCriteria(User.class);

      List result=c.list();

      Iterator it=result.iterator();

      while(it.hasNext()){

        User u=it.next();

        System.out.println("用户名:"+u.getName());

      }

       Criteria criteria = session.createCriteria(User.class);
          criteria.add(Restrictions.eq("name", "bob"));
          List result = criteria.list();
          Iterator it = result.iterator();
          while (it.hasNext()) {
              User user = (User) it.next();
              System.out.println("用户名:" + user.getName());
        }

        方法            说明

        Restrictions.eq()     对应SQL的等于(’=’)
        Restrictions.allEq()     使用Map,使用key/value进行多个相等的值的比对
        Restrictions.gt()     对应SQL的大于 (‘>’)
        Restrictions.ge()     对应SQL的大于等于 (‘>=’)
        Restrictions.lt()     对应SQL的小于 (‘<’)
        Restrictions.le()     对应SQL的小于等于 (‘<=’)
        Restrictions.between()   对应SQL的between子句
        Restrictions.like()     对应SQL的like子句
        Restrictions.in()     对应SQL的in子句
        Restrictions.and()      对应SQL的and
        Restrictions.or()     对应SQL的or
        Restrictions.not()     对应SQL的not

    2、使用Example

      House house = new House();
      house.setPrice(new Double(2000));
      house.setFloorage(new Integer(40));

      Criteria criteria = session.createCriteria(House.class);
      criteria.add(Example.create(house));
      List results = criteria.list();
      Iterator it = results.iterator();
      while(it.hasNext()){
          House h= (House)it.next();
          System.out.println("标题:"+h.getTitle()+"  价格"+h.getPrice());
      }  

    3、Criteria查询排序

      Criteria 查询不仅能组合出SQL中的where子句的功能,还可以组合出排序查询功能

      使用org.hibernate.criterion.Order对结果进行排序

      排序的方法为:asc() desc()

      Cirteria c=session.createCriteria(House.class);

      c.addOrder(Order.desc("price"));

      

    4、Criteria查询实现分页

      Criteria的setMaxResult()方法可以限定查询返回数据的行数

      Criteria的setFirstResult()设定查询返回结果的第一行数据的位置

      Criteria c=session.createCriteria(Hose.class);

      c.setFistResult(3);

      c.setMaxResult(2);

      List result=c.list();

      Iterator it=result.iterator();

      while(it.hasNext()){

        Hose h=it.next();

        System.out.println("标题"+h.getTitle+"价格"+h.getPrice());

      }

      

  • 相关阅读:
    利用栈实现字符串中三种括号的匹配问题c++语言实现
    十进制数转N进制c++实现
    字符单链表识别数字,字母,其它字符,并分为三个循环链表的算法c++实现
    c++两数组合并算法
    c++顺序表(数组)查找最大最小值
    SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
    php实现单点登录,顶级域名与子域名间共享Cookie实现单点登录原理
    php实现单点登录实例
    php实现SSO单点登录实例
    玩转音频、视频的利器:FFmpeg
  • 原文地址:https://www.cnblogs.com/lanliying/p/3180680.html
Copyright © 2020-2023  润新知