📄 userdaoimpl.java
字号:
package cn.com.tarena.ecport.dao.impl;
import java.util.List;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Example;
import cn.com.tarena.ecport.common.util.HibernateUtil;
import cn.com.tarena.ecport.dao.IUserDAO;
import cn.com.tarena.ecport.exception.ECPortException;
import cn.com.tarena.ecport.pojo.User;
public class UserDAOImpl implements IUserDAO {
@SuppressWarnings("unchecked")
public List<User> findAllUsers() throws ECPortException {
try {
Query queryObj = HibernateUtil.getSessionFactory().getCurrentSession().createQuery("from User");
List<User> users = queryObj.list();
return users;
} catch (RuntimeException re) {
throw new ECPortException(re);
}
}
public void modifyUserPassword(User user) throws ECPortException {
String hql = "update User as u set u.password=? where u.userid=?";
try {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Query q = session.createQuery(hql);
q.setString(0, user.getPassword());
q.setString(1, user.getUserid());
q.executeUpdate();
} catch (RuntimeException e) {
throw e;
}
}
public void delete(User persistencePojo) {
try {
HibernateUtil.getSessionFactory().getCurrentSession().delete(persistencePojo);
} catch (RuntimeException e) {
throw e;
}
}
@SuppressWarnings("unchecked")
public List<User> findByExample(User ExamplePojo) {
try {
List<User> results = HibernateUtil.getSessionFactory().getCurrentSession().createCriteria("User").add(
Example.create(ExamplePojo)).list();
return results;
} catch (RuntimeException re) {
throw re;
}
}
public User findById(Long id) {
try {
User user = (User)HibernateUtil.getSessionFactory().getCurrentSession().get(User.class,id);
return user;
} catch (RuntimeException e) {
throw e;
}
}
@SuppressWarnings("unchecked")
public List<User> findByProperty(String propertyName, Object value) {
String hql = "from User as u where u."+propertyName+"=?";
try {
Query q = HibernateUtil.getSessionFactory().getCurrentSession().createQuery(hql);
q.setParameter(0, value);
List<User> users = q.list();
return users;
} catch (RuntimeException e) {
throw e;
}
}
public void lock(User pojo) {
try {
HibernateUtil.getSessionFactory().getCurrentSession().lock(pojo, LockMode.READ);
} catch (RuntimeException e) {
throw e;
}
}
public User merge(User detachedPojo) {
try {
User user = (User) HibernateUtil.getSessionFactory().getCurrentSession().merge(detachedPojo);
return user;
} catch (RuntimeException e) {
throw e;
}
}
public void save(User transientPojo) {
try {
HibernateUtil.getSessionFactory().getCurrentSession().save(transientPojo);
} catch (RuntimeException e) {
throw e;
}
}
public void saveOrUpdate(User pojo) {
try {
HibernateUtil.getSessionFactory().getCurrentSession().saveOrUpdate(pojo);
} catch (RuntimeException e) {
throw e;
}
}
public User findUserById(String id) throws ECPortException {
// try {
// String hql = "from User as u where u.userid=?";
// User user = (User) HibernateUtil.getSessionFactory().getCurrentSession().createQuery(hql).setString(0, id).uniqueResult();
// return user;
// } catch (RuntimeException e) {
// throw e;
// }
try {
User user = (User)HibernateUtil.getSessionFactory().getCurrentSession().get(User.class,id);
return user;
} catch (RuntimeException e) {
throw e;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -