userdaoimpl.java

来自「一个基本的图书馆管理系统」· Java 代码 · 共 150 行

JAVA
150
字号
package c18.dao;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;

import c18.entity.User;
import c18.helper.PageBean;
import c18.helper.PageResult;

public class UserDaoImpl extends PageDao implements UserDao {
	/**
	 * 日志操作对象
	 */
    private static final Log log = LogFactory.getLog(UserDaoImpl.class);

    /**
	 * 以会话对象作参数的构造器
	 * @param session
	 */
	public UserDaoImpl(Session session){
		this.session = session;
	}

	public List findByLoginName(String loginName) throws HibernateException {
		//组成查询sql
		String sql = "from User user where user.loginName=?";
		
		//输出日志信息
		log.debug("findByLoginName:" + sql);
		log.debug("loginName:" + loginName);
		
		//生成查询对象
		Query query = session.createQuery(sql);
		//设置参数
		query.setString(0, loginName);
		//得到查询列表
		return query.list();
	}

	public User get(int userNo) throws HibernateException {
		//得到对象
		return (User)session.get(User.class, new Integer(userNo));
	}

	public void remove(User user) throws HibernateException {
		//删除对象
		session.delete(user);

	}

	public void save(User user) throws HibernateException {
		//保存对象
		session.save(user);

	}

	public List searchByLoginName(String loginName) throws HibernateException {
		//组成查询sql
		String sql = "from User user where user.loginName like ?";
		
		//输出日志信息
		log.debug("searchByLoginName:" + sql);
		log.debug("loginName:" + loginName);
		
		//生成查询对象
		Query query = session.createQuery(sql);
		//设置参数
		query.setString(0, "%" + loginName + "%");
		//得到查询列表
		return query.list();
	}

	public void update(User user) throws HibernateException {
		//更新对象
		session.update(user);

	}

	public PageResult searchByLoginName(String loginName, PageBean pageBean) throws HibernateException {
		//组成查询sql
		String sql = "from User user where user.loginName like ?";
		
		//输出日志信息
		log.debug("searchByLoginName:" + sql);
		log.debug("loginName:" + loginName);
		
		PageResult pageresult = new PageResult();
		//生成查询对象
		Query query = session.createQuery(sql);
		
		//设置分页查询数
		query.setFirstResult((pageBean.getPage() - 1) * pageBean.getPageSize());
		query.setMaxResults(pageBean.getPageSize());
		
		//设置参数
		query.setString(0, "%" + loginName + "%");
		
		//得到结果
		pageresult.setResultList(query.list());
		
		//查询总数
		if(pageBean.getCount() <= 0){
			pageBean.setCount(getCount(sql, new Object[]{"%" + loginName + "%"}));
		}
		
		//设置分页信息
		pageresult.setPageBean(pageBean);
		
		//得到查询列表
		return pageresult;
	}

	public PageResult getUsers(PageBean pageBean) throws HibernateException {
		//组成查询sql
		String sql = "from User user";
		
		//输出日志信息
		log.debug("getUsers:" + sql);
		
		PageResult pageresult = new PageResult();
		//生成查询对象
		Query query = session.createQuery(sql);
		
		//设置分页查询数
		query.setFirstResult((pageBean.getPage() - 1) * pageBean.getPageSize());
		query.setMaxResults(pageBean.getPageSize());
		
		//得到结果
		pageresult.setResultList(query.list());
		
		//查询总数
		if(pageBean.getCount() <= 0){
			pageBean.setCount(getCount(sql, new Object[]{}));
		}
		
		//设置分页信息
		pageresult.setPageBean(pageBean);
		
		//得到查询列表
		return pageresult;
	}
	
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?