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 + -
显示快捷键?