f(null != session)
56 session.close();
57 }catch(Exception e){
58 System.out.println("[异常]关闭Session时发生异常,异常原因如下:");
59 e.printStackTrace();
60 }
61 }
62
63
64
66}
67
Struts 2.0整合Hibernate 3.2开发注册登录系统(4)
时间:2011-09-14 心梦帆影
5、DAO层设计:在"com.rong.DAO" 包下建立两个类,一个是接口,一个是实现类,其中UserDao.java 代码如下:
1package com.rong.DAO;
2
3import java.util.List;
4import com.rong.ORM.User;
5
6public interface UserDao {
7
8 /** *//**
9 * 增 加用户
10 * @param user 要增加的用户
11 */
12 public void add(User user);
13
14 /** *//**
15 * 登录验证
16 * @param name
17 * @param password
18 * @return -1:不存在用户名 ; -2:密码不正确 ; >0:登录成功(即返回 该记录ID)
19 */
20 public int isExist(String name,String password);
21}
UserDaoImpl.java的代码如下:
1package com.rong.DAO;
2
3import java.util.Iterator;
4import java.util.List;
5import org.hibernate.Query;
6import org.hibernate.Session;
7import org.hibernate.Transaction;
8import com.rong.ORM.User;
9import com.rong.hibernate.HibernateUtil;
10
11public class UserDaoImpl implements UserDao {
12
13 HibernateUtil util = new HibernateUtil();
14
15 /** *//**
16 * 增加用户
17 * @param user 要增加的用户
18 */
19 public void add(User user){
20 Session session = util.getSession();
21 Transaction ts = null;
22 try{
23 ts = session.beginTransaction ();
24 session.save(user);
25 ts.commit();
26 }catch (Exception e){
27 System.out.println("UserDaoImpl.add()方法发生异常:");
28 e.printStackTrace();
29 }finally{
30 util.closeSession (session);
31 }
32 }
33
34 /** *//**
35 * 登录验证
36 * @param name
37 * @param password
38 * @return -1:不存在用户名 ; -2:密码 不正确 ; >0:登录成功(即返回该记录ID)
39 */
40 public int isExist(String name,String password){
41 //int state = 0 ; //初始化状态变量
42 Session session = util.getSession();
43 try{
44 Query query = session.createQuery("from User u where u.name = ?");
45 query.setString(0, name);
46 List list = query.list();
47 if(null == list || 0 == list.size()){
48 return -1 ; //用户名不存在
49 }
50 Query query2 = session.createQuery("from User u where u.name = ? and u.pwd = ?");
51 query2.setString(0, name);
52 query2.setString(1, password);
53 List list2 = query.list();
54 if(null == list2) {
55 return -2 ; //密码不正确
56 }
57 Iterator it = list.iterator();
58 User user = (User)it.next();
59 return user.getId(); //验证成功,取ID值
60
61 }catch(Exc
|