• 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):指定一次查询的对象数量。  
  • 相关阅读:
    委托-张子扬博客
    委托-雾中人博客
    委托基础
    C# 字典
    相机标定目的<3>
    相机标定程序详解<2>
    相机标定 <1>
    Opencv 几何变换<9>
    Opencv ROI<8>
    Opencv 通道分离合并<7>
  • 原文地址:https://www.cnblogs.com/xiaotaoqi/p/5828707.html
Copyright © 2020-2023  润新知