package com.lh.dao;
import java.util.Calendar;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.lh.model.User;
/**
 * �����û�ע���¼��DAO������
 * @author LH
 */
public class UserDao {
	private static UserDao instance = null;
	/**
	 * ����һ��UserDaoʵ��
	 * @return
	 */
	public static UserDao getInstance(){
		if(instance==null) instance = new UserDao();
		return instance;
	}
	/**
	 * �����û�ע����Ϣ
	 * @param user
	 * @return
	 */
public boolean saveUser(User user){
	boolean result = false;//����Ƿ�ɹ�
	Session session = null;//����Sessionʵ��
	Transaction trans = null;//��������
	try{
		
		session = SessionFactoryProvider.getSession();//����Sessionʵ��
		trans=session.beginTransaction();//��ȡ����
		trans.begin();//��ʼ����
		session.save(user);//�������
		trans.commit();//�ύ����
		result=true;
	}catch(Exception ex){
		//�������쳣����ع�
		if(trans!=null&&trans.isActive()) trans.rollback();
		ex.printStackTrace();
	}finally{
		session.close();
	}
	return result;
}
	/**
	 * ���û�ע����Ϣ
	 * @param user
	 * @return
	 */
	public boolean updateUser(User user){
		boolean result = false;//����Ƿ�ɹ�
		Session session = null;//����Sessionʵ��
		Transaction trans = null;//��������
		try{
			//��SessionFactory�������ܻ�ȡSessionʵ��
			session = SessionFactoryProvider.getSession();
			trans=session.beginTransaction();//��ȡ����
			trans.begin();//��ʼ����
			session.update(user);//���¶���
			trans.commit();//�ύ����
			result=true;
		}catch(Exception ex){
			//�������쳣����ع�
			if(trans!=null&&trans.isActive()) trans.rollback();
			ex.printStackTrace();
		}
		return result;
	}
	/**
	 * ��ѯ�����û���Ϣ
	 * @return
	 */
	public User selectUserById(String userId){
		User user = null;
		Session session = null;
		try{
			//��SessionFactory�������ܻ�ȡSessionʵ��
			session = SessionFactoryProvider.getSession();
			Query query = session.createQuery("from User where userId=:id");
			query.setString("id", userId);
			//�Ӳ�ѯ�Ľ����л�ȡ��Userʵ��
			user = (User)query.list().get(0);
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			session.close();//�ر�session
		}
		return user;
	}
	/**
	 * ��֤�û���¼
	 * @param userName���û���
	 * @param userPwd������
	 * @return
	 */
public boolean enter(String userName,String userPwd){
	boolean result = false;
	Session session = null;
	try{
		//��SessionFactory�������ܻ�ȡSessionʵ��
		session = SessionFactoryProvider.getSession();	
		//��ѯ�Ƿ��и��û���hql���
		String hql="select count(userId) from User where userName=:name and userPwd=:pwd";
		//����query����
		Query query=session.createQuery(hql);
		//�����û������
		query.setString("name", userName);
		//�����������
		query.setString("pwd", userPwd);
		//���ص�intֵ����ѯ�û��ĸ���
		int userCount=Integer.parseInt(query.list().get(0).toString());
		if(userCount==1) result = true;
	}catch(Exception ex){
		ex.printStackTrace();
	}finally{
		session.close();
	}
	return result;
}
	/**
	 * ����û������������û�����
	 * @param name �û���
	 * @param pwd ����
	 * @return
	 */
	
public User getUserByNameAndPwd(String name,String pwd){
	User user = null;
	Session session = null;
	try{
		session = SessionFactoryProvider.getSession();	//����Sessionʵ��
		String hql=" from User where userName=:name and userPwd=:pwd";//hql���
		Query query=session.createQuery(hql);//����query����
		query.setString("name", name);//�����û������
		query.setString("pwd", pwd);//�����������
		if(query.list()!=null&&query.list().size()>0){//�жϷ��ص�list�����Ƿ�����û���Ϣ����
			user=(User)query.list().get(0);
		}
	}catch(Exception ex){
		ex.printStackTrace();
	}finally{
		session.close();
	}
	return user;
}
	/**
	 * ����û�ע��������û���
	 * �жϸ��û��Ƿ����
	 * @param name
	 * @return ���ڷ���true,�����ڷ���false
	 */
	
public boolean getUserByName(String name){
	boolean result = false;
	Session session = null;
	try{	
		session = SessionFactoryProvider.getSession();	//����Sessionʵ��
		String hql=" from User where userName=:name";	//��ѯ�Ƿ��и��û���hql���
		Query query=session.createQuery(hql);			//����query����
		query.setString("name", name);					//�����û������
		if(query.list()!=null&&query.list().size()>0)	//��ݷ��ص�list���ϣ��ж��Ƿ���ڸ��û�
			result = true;
	}catch(Exception ex){
		ex.printStackTrace();
	}finally{
		session.close();
	}
	return result;
}
}
最近下载更多
                
                过过成功尺寸     LV7
                2021年12月22日
            
            
        
                kiritoYCQ     LV5
                2020年11月28日
            
            
        
                dyihui     LV12
                2020年11月19日
            
            
        
                霖望1234     LV2
                2020年7月18日
            
            
        
                本机号码     LV2
                2020年7月6日
            
            
        
                秘制酒心巧克力     LV6
                2020年6月19日
            
            
        
                wangshangkun     LV2
                2020年5月25日
            
            
        
                木扬木     LV2
                2020年4月25日
            
            
        
                大杰打劫     LV8
                2020年3月24日
            
            
        
                gezongyuan     LV9
                2020年1月7日
            
            
        
最近浏览更多
                
                PISCESPLUS     LV5
                2024年9月3日
            
            
        
                ymrdhgv    
                2024年6月24日
            
            
                    暂无贡献等级
            
        
                晴曛     LV6
                2024年2月20日
            
            
        
                xiquyiyuan     LV10
                2024年1月12日
            
            
        
                WBelong     LV8
                2023年12月28日
            
            
        
                Henew168     LV2
                2023年12月4日
            
            
        
                李朝磊     LV18
                2023年10月23日
            
            
        
                陆程江     LV2
                2023年5月28日
            
            
        
                uni-code_0123     LV1
                2023年4月20日
            
            
        
                ssmss951     LV3
                2023年2月27日
            
            
        
                
                
                