LoginAction


package com.action;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.hibernate.Session;

import com.hibernate.HibernateUtils;
import com.hibernate.Majordomo;
import com.hibernate.User;
import com.hibernate.aid;
import com.hibernate.manager;
import com.opensymphony.xwork2.ActionContext;

public class LoginAction {
	
	private User user;
	
	
	//定义java的session
	private Map<String,Object> session = ActionContext.getContext().getSession();
	
	
	public void setSession(Map<String,Object> session)
	{
		this.session = session;
		
	}
	public User getUser()
	{
		return user;
	}
	public void setUser(User user)
	{
		this.user=user;
	}
	
	@SuppressWarnings("unchecked")
	public String execute(){
		System.out.println(user.getUser_role());
		System.out.println(user.getUser_id());
		
		//定义hibernate的session
		Session Hsession = null;
		Hsession = HibernateUtils.getSession();
		Hsession.beginTransaction();
		
		//往session中放登录用户的id
		session.put("userid", user.getUser_id());
		
		try {
			if(user.getUser_role().equals("manager_assistant")){
				
				aid Aid = new aid();
				//采用list查询发出一条查询语句,取得aid对象数据、
				List t_aid = Hsession.createQuery("from aid").list();
				for (Iterator iter=t_aid.iterator(); iter.hasNext();) {
					Aid = (aid)iter.next();
					String str = Aid.getAidId();
					if(str.equals(user.getUser_id())){
						str = Aid.getAidPassword();
						if(str.equals(user.getUser_password())){
							return "assistant_success";
						}
					}
				}
			}
			else if(user.getUser_role().equals("majordomo")){
				
				Majordomo mjd = new Majordomo();
				List t_mjd = Hsession.createQuery("from Majordomo").list();
				for (Iterator iter=t_mjd.iterator(); iter.hasNext();) {
					mjd = (Majordomo)iter.next();
					String str = mjd.getMjdId();
					if(str.equals(user.getUser_id())){
						str = mjd.getMjdPassword();
						if(str.equals(user.getUser_password())){
							return "majordomo_success";
						}
					}
				}
			}
			else if(user.getUser_role().equals("dept_manager")){
				
				manager Manager = new manager();
				List t_manager = Hsession.createQuery("from manager").list();
				for (Iterator iter=t_manager.iterator(); iter.hasNext();) {
					Manager = (manager)iter.next();
					String str = Manager.getManagerId();
					if(str.equals(user.getUser_id())){
						str = Manager.getManagerPassword();
						if(str.equals(user.getUser_password())){
							return "dept_manager_success";
						}
					}
				}
			}
		}
		catch(Exception e) {
			e.printStackTrace();
			Hsession.getTransaction().rollback();
		}
		finally {
			HibernateUtils.closeSession(Hsession);
		}	
		return "relogin";
	}
}


你可能感兴趣的:(java,Hibernate)