zoukankan      html  css  js  c++  java
  • Hibernate 查询方法

     1 1、简单查询:
     2  public User select(User user) {
     3         User newUser;
     4         try {
     5             newUser = (User) session.get(User.class,user.getId());
     6             return newUser;
     7         } catch (Exception e) {
     8             log.error("查询失败", e);
     9             return null;
    10         } finally {
    11             HibernateUtil.closeSession();
    12         }
    13     }
    14 2、 用?15  public List<User>select(User user){  
    16   String hql = "from user where emails= ? and password= ?";  
    17   Query query = session.createQuery(hql);  
    18   query.setString(0, user.getEmails());  
    19   query.setString(1, user.getPassword());  
    20   List<User> list = query.list();  
    21   session.close();  
    22   return list;  
    23  }  
    24   
    25 3、用":+命名":  
    26  public List<User> select(User user){  
    27   Session session = HibernateSessionFactory.getSession();  
    28   String hql = "from user where emails= :e and password= :p";  
    29   Query query = session.createQuery(hql);  
    30 {
    31   query.setString("e", user.getEmails());  
    32   query.setString("p", user.getPassword());  
    33 }else{
    34  query.setParameter("e", user.getEmails());  
    35   query.setParameter("p", user.getPassword());  
    36 }else{
    37  query.setProperties(user);  
    38 }
    39   List<User> list = query.list();  
    40   session.close();  
    41   return list;  
    42  }  
    43 4、使用条件查询(Criteria) 没有hql语句 :
    44  public List<User> select(User user){  
    45   Criteria cri = session.createCriteria(User.class);  
    46   cri.add(Restrictions.eq("emails", user.getEmails()));  
    47   cri.add(Restrictions.eq("password", user.getPassword()));  
    48   List<User> list = cri.list();  
    49   session.close();  
    50   return list;  
    51  }  
    52    
    53    
    54 5、离线条件查询:
    55  public List<User> select(User user){  
    56   DetachedCriteria dc = DetachedCriteria.forClass(User.class);  
    57   dc .add(Restrictions.eq("emails", user.getEmails()));  
    58   dc .add(Restrictions.eq("password", user.getPassword()));  
    59   Criteria cri = dc.getExecutableCriteria(session);  
    60   List<User> list = cri.list();  
    61   session.close();  
    62   return list;  
    63  }   
    64 6、分页查询:
    65 1)  setFirstResult(int):指定从指定的位置开始查询
    66 2)  setMaxResult(int):指定一次查询的对象数量。  
  • 相关阅读:
    【转载】总结一下Android中主题(Theme)的正确玩法
    Android获唯一标识
    AS问题解决系列3—iCCP: Not recognizing known sRGB profile
    AS问题解决系列1—Unable to execute DX错误
    Android Studio Error2
    Android Error
    NAT简单介绍
    redis缓存工具Jedis进行跨jvm加锁(分布式应用)--不幸暂弃用--能够做第三方锁使用
    工作总结1.怎样高效跟客户确定需求?
    Sqoop处理Clob与Blob字段
  • 原文地址:https://www.cnblogs.com/xiaotaoqi/p/5828707.html
Copyright © 2011-2022 走看看