package net.survey.dao;
import java.util.List;
import net.survey.model.User;
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.hibernate.Transaction;
import org.hibernate.criterion.Example;
/**
* A data access object (DAO) providing persistence and search support for User
* entities. Transaction control of the save(), update() and delete() operations
* can directly support Spring container-managed transactions or they can be
* augmented to handle user-managed Spring transactions. Each of these methods
* provides additional information for how to configure it for the desired type
* of transaction control.
*
* @see net.survey.model.User
* @author MyEclipse Persistence Tools
*/
public class UserDAO extends BaseHibernateDAO {
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 NICK_NAME = "nickName";
public static final String EMAIL = "email";
public static final String SEX = "sex";
public static final String DEPT = "dept";
public static final String ROLE = "role";
public void save(User transientInstance) {
log.debug("saving User instance");
Session session = getSession();
Transaction t = session.beginTransaction();
try {
session.save(transientInstance);
log.debug("save successful");
t.commit();
} catch (RuntimeException re) {
log.error("save failed", re);
if (t != null) {
t.rollback();
}
throw re;
} finally {
session.close();
}
}
public void delete(User persistentInstance) {
log.debug("deleting User instance");
try {
getSession().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
public User findById(java.lang.Integer id) {
log.debug("getting User instance with id: " + id);
Session session = getSession();
Transaction t = session.beginTransaction();
try {
User instance = (User) getSession()
.get("net.survey.model.User", id);
t.commit();
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
if (t != null) {
t.rollback();
}
throw re;
}finally {
session.close();
}
}
public List findByExample(User instance) {
log.debug("finding User instance by example");
try {
List results = getSession().createCriteria("net.survey.model.User")
.add(Example.create(instance)).list();
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);
Session session = getSession();
Transaction t = session.beginTransaction();
try {
String queryString = "from User as model where model."
+ propertyName + "= ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, value);
t.commit();
return queryObject.list();
} catch (RuntimeException re) {
log.error("find by property name failed", re);
if (t != null) {
t.rollback();
}
throw re;
} finally {
session.close();
}
}
public List findByUsername(Object username) {
return findByProperty(USERNAME, username);
}
public List findByPasword(Object pasword) {
return findByProperty(PASSWORD, pasword);
}
public List findByNickName(Object nickName) {
return findByProperty(NICK_NAME, nickName);
}
public List findByEmail(Object email) {
return findByProperty(EMAIL, email);
}
public List findBySex(Object sex) {
return findByProperty(SEX, sex);
}
public List findByDept(Object dept) {
return findByProperty(DEPT, dept);
}
public List findByRole(Object role) {
return findByProperty(ROLE, role);
}
public List findAll() {
log.debug("finding all User instances");
Session session = getSession();
Transaction t = session.beginTransaction();
try {
String queryString = "from User";
Query queryObject = getSession().createQuery(queryString);
t.commit();
return queryObject.list();
} catch (RuntimeException re) {
log.error("find all failed", re);
if (t != null) {
t.rollback();
}
throw re;
}finally {
session.close();
}
}
public User merge(User detachedInstance) {
log.debug("merging User instance");
try {
User result = (User) getSession().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");
Session session = getSession();
Transaction t = session.beginTransaction();
try {
getSession().saveOrUpdate(instance);
t.commit();
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
if (t != null) {
t.rollback();
}
throw re;
}finally {
session.close();
}
}
public void attachClean(User instance) {
log.debug("attaching clean User instance");
try {
getSession().lock(instance, LockMode.NONE);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public User login(String username, String password) {
User user = null;
Session session = getSession();
Transaction t = session.beginTransaction();
try {
String queryString = "from User where username='" + username
+ "' and password='" + password + "'";
Query queryObject = getSession().createQuery(queryString);
if (queryObject.list().size() != 0) {
user = (User) queryObject.list().get(0);
}
} catch (RuntimeException re) {
log.error("merge failed", re);
if (t != null) {
t.rollback();
}
throw re;
} finally {
session.close();
}
return user;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
网上投票调查系统,servlet+javabean+jsp (221个子文件)
UserDAO.class 7KB
TicketvalueDAO.class 6KB
TicketDAO.class 6KB
UserTicketServlet.class 6KB
OnlinecountDAO.class 6KB
TypeDAO.class 6KB
UserTicketDAO.class 5KB
CommentDAO.class 5KB
OnlineServlet.class 5KB
TicketServlet.class 5KB
UserServlet.class 5KB
User.class 4KB
CommentServlet.class 3KB
TypeServlet.class 3KB
TicketvalueServlet.class 3KB
Ticket.class 3KB
HibernateSessionFactory.class 2KB
Comment.class 2KB
Ticketvalue.class 2KB
CountListener.class 2KB
UserTicketId.class 2KB
DBConn.class 1KB
Type.class 1KB
UserTicket.class 1KB
EncodingFilter.class 1KB
Onlinecount.class 1KB
TicketTest.class 1KB
BaseHibernateDAO.class 499B
UserTest.class 357B
IBaseHibernateDAO.class 179B
.classpath 2KB
style.css 3KB
Thumbs.db 119KB
login_top.gif 110KB
login_btm.gif 68KB
login_title.gif 6KB
nav_active.gif 6KB
menu.gif 6KB
main02.gif 4KB
menu_bg.gif 4KB
login_title_bg.gif 3KB
error_01.gif 3KB
nav_bg_active.gif 2KB
nav_bg_inactive.gif 2KB
but02.gif 2KB
but04.gif 2KB
but03.gif 2KB
but01.gif 2KB
error_03.gif 2KB
cancel.gif 1KB
login.gif 1KB
fon_menu.gif 1KB
e03.gif 1006B
fon_menu02.gif 989B
e04.gif 959B
top01.gif 767B
password_bg.gif 669B
error_button1.gif 610B
error_button2.gif 610B
username_bg.gif 606B
b_go.gif 598B
fon02.gif 572B
login_btm_left.gif 501B
login_top_right.gif 496B
login_btm_right.gif 491B
head01.gif 486B
login_top_left.gif 476B
home.gif 441B
e02.gif 391B
bg_left.gif 373B
bg_right.gif 372B
fon03.gif 281B
fon04.gif 261B
login_mid.gif 230B
clock.gif 207B
login_top_mid.gif 138B
login_btm_mid.gif 124B
error_02.gif 96B
bg.gif 93B
e06.gif 84B
home2.gif 80B
e05.gif 79B
fon01.gif 71B
copyright_right.gif 70B
copyright_left.gif 67B
e01.gif 57B
copyright_mid.gif 50B
dot_w.gif 48B
dot_g.gif 48B
px1.gif 43B
login.html 3KB
menu_type.html 2KB
menu_user.html 1KB
menu.html 1KB
menu_userticket.html 1KB
menu_ticket.html 1KB
menu_online.html 1KB
menu_comment.html 1KB
error.html 1KB
main.html 787B
共 221 条
- 1
- 2
- 3
资源评论
- zhr2009ab2012-10-19挺好,虽然未解决问题,但提供了一些参考
- a4186121422016-10-31没什么作用
- a3127180872013-05-07不能用,但是却给了一些提示
lewe518
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功