borrowdaoimpl.java

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

JAVA
184
字号
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.Borrow;
import c18.entity.PreBorrow;
import c18.helper.PageBean;
import c18.helper.PageResult;

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

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

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

	public PageResult getPreBorrowsByUser(int userNo, PageBean pageBean)
			throws HibernateException {
		//组成查询sql
		String sql = "from PreBorrow preBorrow,Book book where preBorrow.bookNo=book.bookNo and preBorrow.userNo=? order by preBorrow.preBorrowTime desc";
		
		//输出日志信息
		log.debug("getPreBorrowsByUser:" + sql);
		log.debug("userNo:" + userNo);
		
		PageResult pageresult = new PageResult();
		//生成查询对象
		Query query = session.createQuery(sql);
		query.setInteger(0, new Integer(userNo));
		
		//设置分页查询数
		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[]{new Integer(userNo)}));
		}
		
		//设置分页信息
		pageresult.setPageBean(pageBean);
		
		//得到查询列表
		return pageresult;
	}

	public void removePreBorrow(PreBorrow preBorrow) throws HibernateException {
		//删除对象
		session.delete(preBorrow);

	}

	public void savePreBorrow(PreBorrow preBorrow) throws HibernateException {
		//保存对象
		session.save(preBorrow);

	}

	public void updatePreBorrow(PreBorrow preBorrow) throws HibernateException {
		//更新对象
		session.update(preBorrow);

	}

	public PreBorrow getPreBorrowByStatus(int userNo, int bookNo, int status) throws HibernateException {
		//组成查询sql
		String sql = "from PreBorrow preBorrow where preBorrow.userNo=? and preBorrow.bookNo=? and preBorrow.status=? order by preBorrow.preBorrowTime desc";
		
		//输出日志信息
		log.debug("getPreBorrowsByUser:" + sql);
		log.debug("userNo:" + userNo);
		log.debug("bookNo:" + bookNo);
		log.debug("status:" + status);
		
		//生成查询对象
		Query query = session.createQuery(sql);
		query.setInteger(0, new Integer(userNo));
		query.setInteger(1, new Integer(bookNo));
		query.setInteger(2, new Integer(status));
		
		List list = query.list();
		if(list != null && list.size() > 0){
			return (PreBorrow)list.get(0);
		}
		return null;
	}

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

	public void removeBorrow(Borrow borrow) throws HibernateException {
		//删除对象
		session.delete(borrow);
		
	}

	public void saveBorrow(Borrow borrow) throws HibernateException {
		//保存对象
		session.save(borrow);
		
	}

	public void updateBorrow(Borrow borrow) throws HibernateException {
		//更新对象
		session.update(borrow);
		
	}

	public Borrow getBorrowByPre(int preBorrowNo) throws HibernateException {
		//组成查询sql
		String sql = "from Borrow borrow where borrow.preBorrowNo=?";
		
		//输出日志信息
		log.debug("getPreBorrowsByUser:" + sql);
		log.debug("preBorrowNo:" + preBorrowNo);
		
		//生成查询对象
		Query query = session.createQuery(sql);
		query.setInteger(0, new Integer(preBorrowNo));
		
		List list = query.list();
		if(list != null && list.size() > 0){
			return (Borrow)list.get(0);
		}
		return null;
	}

	public PageResult getBorrowsByUser(int userNo, PageBean pageBean) throws HibernateException {
		//组成查询sql
		String sql = "from Borrow borrow,PreBorrow preBorrow,Book book where borrow.preBorrowNo=preBorrow.preBorrowNo and preBorrow.bookNo=book.bookNo and preBorrow.userNo=? order by borrow.borrowTime desc";
		
		//输出日志信息
		log.debug("getPreBorrowsByUser:" + sql);
		log.debug("userNo:" + userNo);
		
		PageResult pageresult = new PageResult();
		//生成查询对象
		Query query = session.createQuery(sql);
		query.setInteger(0, new Integer(userNo));
		
		//设置分页查询数
		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[]{new Integer(userNo)}));
		}
		
		//设置分页信息
		pageresult.setPageBean(pageBean);
		
		//得到查询列表
		return pageresult;
	}

}

⌨️ 快捷键说明

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