📄 userdao.java
字号:
package org.langsin.car.dao.impl;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.Session;
import org.langsin.car.dao.IUserDAO;
import org.langsin.car.vo.Dept;
import org.langsin.car.vo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* Data access object (DAO) for domain model class User.
*
* @see org.langsin.car.vo.User
* @author MyEclipse - Hibernate Tools
*/
public class UserDAO extends HibernateDaoSupport implements IUserDAO {
private static final Log log = LogFactory.getLog(UserDAO.class);
// property constants
public static final String USERNAME = "username";
public static final String PASSWORD = "password";
public static final String SEX = "sex";
public static final String POSITION = "position";
public static final String MEMO = "memo";
protected void initDao() {
// do nothing
}
/**
* 增加一个新用户
*/
public void save(User transientInstance) {
log.info("UserDAO中Save方法被执行!用户管理模块中增加一个新用户");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
public void delete(User persistentInstance) {
log.debug("deleting User instance");
try {
getHibernateTemplate().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
/**
* 根据Id查找一个用户
*/
public User findById(java.lang.Integer id) {
log.info("UserDAO中findById方法执行!用户管理模块根据Id查找一个用户");
try {
User instance = (User) getHibernateTemplate().get(
"org.langsin.car.vo.User", id);
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}
public List findByExample(User instance) {
log.debug("finding User instance by example");
try {
List results = getHibernateTemplate().findByExample(instance);
log.debug("find by example successful, result size: "
+ results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}
public List findByProperty(String propertyName, Object value) {
log.debug("finding User instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from User as model where model."
+ propertyName + "= ?";
return getHibernateTemplate().find(queryString, value);
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
public List findByUsername(Object username) {
return findByProperty(USERNAME, username);
}
public List findByPassword(Object password) {
return findByProperty(PASSWORD, password);
}
public List findBySex(Object sex) {
return findByProperty(SEX, sex);
}
public List findByPosition(Object position) {
return findByProperty(POSITION, position);
}
public List findByMemo(Object memo) {
return findByProperty(MEMO, memo);
}
public User merge(User detachedInstance) {
log.debug("merging User instance");
try {
User result = (User) getHibernateTemplate().merge(detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
}
public void attachDirty(User instance) {
log.debug("attaching dirty User instance");
try {
getHibernateTemplate().saveOrUpdate(instance);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public void attachClean(User instance) {
log.debug("attaching clean User instance");
try {
getHibernateTemplate().lock(instance, LockMode.NONE);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public static UserDAO getFromApplicationContext(ApplicationContext ctx) {
return (UserDAO) ctx.getBean("UserDAO");
}
/**
* 验证用户登陆
*/
public User verify(User user) {
log.info("UserDAO中verify方法被执行,验证用户登陆");
User instance = null;
final String HQL = "FROM User u where u.username=? and u.password=?";
String[] parameterHQL = new String[2];
parameterHQL[0]=user.getUsername();
parameterHQL[1]=user.getPassword();
List list = getHibernateTemplate().find(HQL, parameterHQL);
if(list.size()!=0){
instance=(User)list.get(0);
return instance;
}
return null;
}
/**
* 查询出所有的用户
*/
public List findAllUser(int currentPage,int rowPerPage) {
log.info("查出所有的用户相关信息");
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
Query query=session.createQuery("FROM User u");
int startRow=(currentPage-1)*rowPerPage;
query.setFirstResult(startRow);
query.setMaxResults(rowPerPage);
List users=query.list();
return users;
}
public int getUserRow() {
log.info("获得用户表的记录数");
int result=0;
List list = getHibernateTemplate().find("FROM User u");
result=list.size();
return result;
}
/**
* 根据Id删除一个用户
*/
public void deleteId(Integer userid) {
log.info("UserDAO中删除的方法被执行");
User instance = (User) getHibernateTemplate().get(
"org.langsin.car.vo.User", userid);
getHibernateTemplate().delete(instance);
}
/**
* 根据ID更新一个用户
*/
public void update(User user) {
User instance = (User) getHibernateTemplate().get(
"org.langsin.car.vo.User", user.getUserid());
instance.setUsername(user.getUsername());
instance.setPassword(user.getPassword());
instance.setPosition(user.getPosition());
instance.setMemo(user.getMemo());
instance.setSex(user.getSex());
getHibernateTemplate().update(instance);
}
/**
* 根据ID更新一个用户,并且调配部门
*/
public void updateDept(User user) {
User instance = (User) getHibernateTemplate().get(
"org.langsin.car.vo.User", user.getUserid());
instance.setUsername(user.getUsername());
instance.setPassword(user.getPassword());
instance.setPosition(user.getPosition());
Dept dept=new Dept();
dept.setDeptid(user.getDept().getDeptid());
instance.setDept(dept);
instance.setMemo(user.getMemo());
instance.setSex(user.getSex());
getHibernateTemplate().update(instance);
}
public List findAllUser() {
log.info("查出所有的用户相关信息");
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
Query query=session.createQuery("FROM User u");
List users=query.list();
return users;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -