Hibernate常用方法之_查询

1、使用session的get方法

 1     public User getUser(int id){
 2         Session session = null;
 3         User user = null;
 4         try {
 5             session = HibernateUtils.getSession();
 6             /*根据主键获取一条记录*/
 7             user = (User) session.get(User.class,id);
 8         }finally {
 9             if (session != null){
10                 session.close();
11             }
12         }
13         return user;
14     }

 

2、使用HQL语言查询 Query

 1     public User getUserBynName(String name){
 2         User user = null;
 3         Session session = null;
 4         try {
 5             session = HibernateUtils.getSession();
 6             /*这里查的是User对象,不是user表,支持多态*/
 7             String hql = " FROM User as user WHERE user.name = :name ";
 8             Query query = session.createQuery(hql);
 9             query.setString("name",name);
10             /*只返回一条记录,否则报错*/
11             user = (User) query.uniqueResult();
12         }finally {
13             if (session != null){
14                 session.close();
15             }
16         }
17         return user;
18     }
19 
20     public List<User> getUsersByName(String name){
21         List<User> users = null;
22         Session session = null;
23         try {
24             session = HibernateUtils.getSession();
25             /*这里查的是User对象,不是user表,支持多态*/
26             String hql = " FROM User as user WHERE user.name LIKE :name ";
27             Query query = session.createQuery(hql);
28             query.setString("name",name+"%");
29             query.setFirstResult(10);
30             query.setMaxResults(5);
31             users = query.list();
32         }finally {
33             if (session != null){
34                 session.close();
35             }
36         }
37         return users;
38     }

3、使用条件查询 Criteria

 1     public User getUserByNameCri(String name){
 2         Session session = null;
 3         User user = null;
 4         try {
 5             session = HibernateUtils.getSession();
 6             /*条件查询*/
 7             Criteria criteria = session.createCriteria(User.class);
 8             /*添加约束条件*/
 9             criteria.add(Restrictions.eq("name",name));
10             user = (User) criteria.uniqueResult();
11         }finally {
12             if (session != null){
13                 session.close();
14             }
15         }
16         return user;
17     }

 

posted @ 2015-06-18 18:55  csnmd  阅读(167)  评论(0编辑  收藏  举报