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):指定一次查询的对象数量。