HQB学习

  1. public void testQBC() {   
  2.            
  3.            
  4. //      方法  说明    
  5. //      Restrictions.eq     =    
  6. //      Restrictions.allEq  利用Map来进行多个等于的限制    
  7. //      Restrictions.gt     >    
  8. //      Restrictions.ge     >=    
  9. //      Restrictions.lt     <   
  10. //      Restrictions.le     <=    
  11. //      Restrictions.between    BETWEEN   
  12. //      Restrictions.like   LIKE   
  13. //      Restrictions.in     in   
  14. //      Restrictions.and    and   
  15. //      Restrictions.or     or   
  16. //      Restrictions.sqlRestriction     用SQL限定查询    
  17. //介绍以下几个典型的用法,这样其他的也会用了        
  18.            
  19.            
  20.            
  21.         /*  
  22.          * 简单的加些限制条件进行搜索   
  23.          * Restrictions.eq  
  24.          */  
  25.         /* Session session = factory.openSession();  
  26.          Criteria criteria = session.createCriteria(User.class);  
  27.          Criterion criterion1 = Restrictions.eq("addr", "dalian");  
  28.          Criterion criterion2 = Restrictions.eq("name", "tie");  
  29.          criteria.add(criterion1);  
  30.          criteria.add(criterion2);  
  31.          List<user></user> users = criteria.list();  
  32.          for(User user : users){  
  33.          System.out.println(user.introduce());  
  34.          System.out.println("**********************");  
  35.          }*/  
  36.   
  37.            
  38.         /*  
  39.          * Restrictions.allEq   利用Map来进行多个等于的限制   
  40.          */  
  41.         /* Session session = factory.openSession();  
  42.          Criteria criteria = session.createCriteria(User.class);  
  43.          Map para = new HashMap();  
  44.          para.put("addr", "dalian");  
  45.          para.put("name", "tie");  
  46.          Criterion criterion1 = Restrictions.allEq(para);  
  47.          criteria.add(criterion1);  
  48.          List<user></user> users = criteria.list();  
  49.          for(User user : users){  
  50.          System.out.println(user.introduce());  
  51.          System.out.println("**********************");  
  52.          }*/  
  53.   
  54.            
  55.            
  56.         /*  
  57.          * Restrictions.sqlRestriction用SQL限定查询   
  58.          * Restrictions.sqlRestriction()这里有三个重载的方法,  
  59.          */  
  60.     /*   Session session = factory.openSession();  
  61.          Criteria criteria = session.createCriteria(User.class);  
  62. //1.     Criterion criterion1 =  
  63.          Restrictions.sqlRestriction("{alias}.name='tie' and  
  64.          {alias}.addr='dalian'");  
  65.  
  66. //2.     Criterion criterion1 = Restrictions.sqlRestriction("{alias}.name=?",  
  67.          "tie", Hibernate.STRING);  
  68.           
  69.            
  70. //3.     Object[] ob = {"tie","dalian"};  
  71.          Type[] type = {Hibernate.STRING,Hibernate.STRING};  
  72.  
  73.          Criterion criterion1 = Restrictions.sqlRestriction("{alias}.name=?  
  74.          and {alias}.addr=?", ob, type);  
  75.          criteria.add(criterion1);  
  76.          List<user></user> users = criteria.list();  
  77.          for(User user : users){  
  78.          System.out.println(user.introduce());  
  79.          System.out.println("**********************");  
  80.          }*/  
  81.   
  82.            
  83.         /*  
  84.          * 排序  
  85.          */  
  86.         /* Session session = factory.openSession();  
  87.          Criteria criteria = session.createCriteria(User.class);  
  88.          criteria.addOrder(Order.desc("age"));  
  89.          List<user></user> users = criteria.list();  
  90.          for(User user : users){  
  91.          System.out.println(user.introduce());  
  92.          System.out.println("**********************");  
  93.          }*/  
  94.   
  95.            
  96.         /*  
  97.          * 求平均数  
  98.          */  
  99.         /* Session session = factory.openSession();  
  100.          Criteria criteria = session.createCriteria(User.class);  
  101.          criteria.setProjection(Projections.avg("age"));  
  102.          List<double></double> avg_ages = criteria.list();  
  103.          for(Double avg_age : avg_ages){  
  104.          System.out.println("avg_age:"+avg_age);  
  105.          }*/  
  106.   
  107.            
  108.            
  109.         /*  
  110.          * 分组  
  111.          */  
  112.         /* Session session = factory.openSession();  
  113.          Criteria criteria = session.createCriteria(User.class);  
  114.          criteria.setProjection(Projections.groupProperty("addr"));  
  115.          List<string></string> addrs = criteria.list();  
  116.          for(String addr : addrs){  
  117.          System.out.println(addr);  
  118.          }*/  
  119.   
  120.            
  121.            
  122.         /*  
  123.          *过个的条件,同时求平均数和分组   
  124.          */  
  125.         /* Session session = factory.openSession();  
  126.          Criteria criteria = session.createCriteria(User.class);  
  127.          ProjectionList projectionList = Projections.projectionList();  
  128.          projectionList.add(Projections.groupProperty("addr"));  
  129.          projectionList.add(Projections.avg("age"));  
  130.          criteria.setProjection(projectionList);  
  131.          List avgs = criteria.list();  
  132.          for(Object[] avg : avgs){  
  133.          System.out.println(avg[0]+":"+avg[1]);  
  134.          }*/  
  135.   
  136.            
  137.         /*  
  138.          * DetachedCriteria举例  
  139.          *   
  140.          */  
  141.            
  142.     /*  DetachedCriteria detachedCriteria = DetachedCriteria  
  143.                 .forClass(User.class);  
  144.         detachedCriteria.add(Restrictions.eq("addr", "dalian"));  
  145.  
  146.         Session session = factory.openSession();  
  147.         Criteria criteria = detachedCriteria.getExecutableCriteria(session);  
  148.  
  149.         List<user></user> users = criteria.list();  
  150.         for (User user : users) {  
  151.             System.out.println(user.introduce());  
  152.             System.out.println("**********************");  
  153.         }*/  
  154.   
  155.       //  session.close();   
  156.     }  

你可能感兴趣的:(sql,Hibernate)