首页>代码>JSP hibernate开发实现青匆校园留言本源代码下载>/青匆校园留言本/04/src/com/lyq/dao/UserDao.java
package com.lyq.dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import com.lyq.model.User;
import com.lyq.util.HibernateUtil;

/**
 * 用户数据库处理类
 * @author Li Yong Qiang
 */
public class UserDao {
	/**
	 * 保存用户
	 * @param user User对象
	 */
	public void saveUser(User user){
		Session session = null;					//Session对象	
		try {
			//获取Session
			session = HibernateUtil.getSession();
			session.beginTransaction();			//开启事物
			session.save(user);					//持久化user
			session.getTransaction().commit(); 	//提交事物
		} catch (Exception e) {
			e.printStackTrace();				//打印异常信息
			session.getTransaction().rollback();//回滚事物
		}finally{
			HibernateUtil.closeSession();		//关闭Session
		}
	}
	/**
	 * 查询所有用户信息
	 * @return List集合
	 */
	public List<User> findAllUser(){
		Session session = null;					//Session对象
		List<User> list = null;					//List集合
		try {
			//获取Session
			session = HibernateUtil.getSession();
			session.beginTransaction();			//开启事物
			String hql = "from User";
			list = session.createQuery(hql)		//创建Query对象
				          .list();				//获取结果集
			session.getTransaction().commit(); 	//提交事物
		} catch (Exception e) {
			e.printStackTrace();				//打印异常信息
			session.getTransaction().rollback();//回滚事物
		}finally{
			HibernateUtil.closeSession();		//关闭Session
		}
		return list;
	}
	/**
	 * 通过用户名和密码查询用户
	 * 用于登录
	 * @param username 用户名
	 * @param password 密码
	 * @return User对象
	 */
	public User findUser(String username, String password){
		Session session = null;					//Session对象
		User user = null;						//用户
		try {
			//获取Session
			session = HibernateUtil.getSession();
			session.beginTransaction();			//开启事物
			//HQL查询语句
			String hql = "from User u where u.username=? and u.password=?";
			Query query = session.createQuery(hql)		//创建Query对象
								.setParameter(0, username)//动态赋值
								.setParameter(1, password);//动态赋值
			user = (User)query.uniqueResult();			//返回User对象
			session.getTransaction().commit(); 	//提交事物
		} catch (Exception e) {
			e.printStackTrace();				//打印异常信息
			session.getTransaction().rollback();//回滚事物
		}finally{
			HibernateUtil.closeSession();		//关闭Session
		}
		return user;
	}
	/**
	 * 判断指定用户名的用户是否存在
	 * @param username 用户名
	 * @return
	 */
	public boolean findUserByName(String username){
		Session session = null;					//Session对象
		boolean exist = false;
		try {
			//获取Session
			session = HibernateUtil.getSession();
			session.beginTransaction();			//开启事物
			//HQL查询语句
			String hql = "from User u where u.username=?";
			Query query = session.createQuery(hql)		//创建Query对象
								 .setParameter(0, username);//动态赋值
			Object user = query.uniqueResult();			//返回User对象
			//如果用户存在exist为true
			if(user != null){
				exist = true;
			}
			session.getTransaction().commit(); 	//提交事物
		} catch (Exception e) {
			e.printStackTrace();				//打印异常信息
			session.getTransaction().rollback();//回滚事物
		}finally{
			HibernateUtil.closeSession();		//关闭Session
		}
		return exist;
	}
}
最近下载更多
你爹正在加载中  LV4 2023年7月19日
hhsssss  LV3 2022年12月20日
www-chrome  LV6 2022年4月26日
wanglinddad  LV55 2022年2月19日
사랑해 사랑해 영원하도록  LV5 2021年12月28日
480446897a  LV2 2021年12月4日
YR  LV7 2021年6月27日
徐梓轩  LV8 2021年5月27日
liudcc  LV5 2021年5月12日
lan12138  LV8 2021年5月7日
最近浏览更多
Liang朝伟  LV1 1月5日
wttttts  LV2 1月1日
susitian  LV2 2023年12月28日
komorebi123987  LV5 2023年12月13日
yiy12345  LV2 2023年10月11日
微信网友_6680567232876544  LV8 2023年10月10日
你爹正在加载中  LV4 2023年7月19日
18276177062  LV1 2023年6月11日
1WQAQW1  LV2 2023年6月8日
2889805  LV2 2023年6月7日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友