📄 userdao.java
字号:
package tarena.dao;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Example;
import tarena.entity.User;
/**
* Data access object (DAO) for domain model class User.
*
* @see tarena.entity.User
* @author MyEclipse Persistence Tools
*/
@SuppressWarnings("unchecked")
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 SEX = "sex";
public static final String NICKNAME = "nickname";
public static final String EMAIL = "email";
public static final String EMAILSECRET = "emailsecret";
public static final String MOBILE = "mobile";
public static final String PHONE = "phone";
public static final String HOMEPAGE = "homepage";
public static final String COMEFROM = "comefrom";
public static final String MSN = "msn";
public static final String QQ = "qq";
public static final String SKYPE = "skype";
public static final String ICQ = "icq";
public static final String YAHOO = "yahoo";
public static final String SELFSHOW = "selfshow";
public static final String SIGNATURE = "signature";
public static final String USESIGN = "usesign";
public static final String USEPORTRAIT = "useportrait";
public static final String PORTRAIT = "portrait";
public static final String PORTRAITADDRESS = "portraitaddress";
public static final String PORTRAITWIDTH = "portraitwidth";
public static final String PORTRAITHEIGHT = "portraitheight";
public static final String ANSWER = "answer";
public static final String TOPICNUM = "topicnum";
public static final String POSTNUM = "postnum";
public static final String TIPWAVE = "tipwave";
public static final String RECEIVEEMAIL = "receiveemail";
public static final String HIDEN = "hiden";
public static final String STATE = "state";
public static final String MEDAL = "medal";
public static final String DOUNUM = "dounum";
public static final String FORUMPOINT = "forumpoint";
public static final String PAYPOINT = "paypoint";
public static final String READACCESS = "readaccess";
/*private Session session = null;
private Transaction transaction = null;*/
public UserDAO() {
/*session = getSession();
transaction = session.beginTransaction();*/
}
/**
* 获得某用户名的密码。
* @param username 用户名
* @return 返回该用户名的密码
*/
public String getPassword(String username){
Session session = getSession();
String hql = "select u.password from User u where u.username='"+username+"'";
try {
Query query = session.createQuery(hql);
return query.list().get(0).toString();
} catch (HibernateException e) {
return null;
} finally{
closeSession();
}
}
/**
* 检测用户名为username的是否为本站的注册会员。
* @param username 用户名
* @return 返回注册否。
*/
public boolean isRegisterUser(String username){
List<User> re = findByExample(new User(username));
return (re!=null&&re.size()!=0);
}
public boolean isRegisterUser(String username,String password){
List<User> re = findByExample(new User(username,password));
return (re!=null||re.size()!=0);
}
public User findUserByUsername(String username){
try {
User user = null;
List list = findByUsername(username);
if(list!=null && list.size()>0){
user = (User)list.get(0);
}
getSession().flush();
return user;
} catch (RuntimeException re) {
throw re;
}
}
public void save(User transientInstance) {
Session session = getSession();
Transaction t = session.beginTransaction();
try {
session.saveOrUpdate(transientInstance);
t.commit();
} catch (RuntimeException re) {
t.rollback();
throw re;
} finally{
closeSession();
}
}
public void delete(User persistentInstance) {
Session session = getSession();
Transaction t = session.beginTransaction();
try {
session.delete(persistentInstance);
t.commit();
} catch (RuntimeException re) {
t.rollback();
throw re;
} finally{
closeSession();
}
}
public User findById(java.lang.Integer id) {
Session session = getSession();
try {
User instance = (User) session.get("tarena.entity.User", id);
return instance;
} catch (RuntimeException re) {
return null;
} finally{
closeSession();
}
}
public Integer countPosts(Integer id){
String sql = "select count(distinct id) re from post where uid=? group by uid ";
return (Integer)getSession()
.createSQLQuery(sql)
.addScalar("re",Hibernate.INTEGER)
.setInteger(0, id)
.uniqueResult();
}
public List findByExample(User instance) {
Session session = getSession();
try {
List results = session.createCriteria("tarena.entity.User")
.add(Example.create(instance)).list();
return results;
} catch (RuntimeException re) {
return null;
} finally {
closeSession();
}
}
public List findByProperty(String propertyName, Object value) {
Session session = getSession();
try {
String queryString = "from User as model where model."
+ propertyName + "= ?";
Query queryObject = session.createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
} catch (RuntimeException re) {
throw re;
} finally{
closeSession();
}
}
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 findByNickname(Object nickname) {
return findByProperty(NICKNAME, nickname);
}
public List findByEmail(Object email) {
return findByProperty(EMAIL, email);
}
public List findByEmailsecret(Object emailsecret) {
return findByProperty(EMAILSECRET, emailsecret);
}
public List findByMobile(Object mobile) {
return findByProperty(MOBILE, mobile);
}
public List findByPhone(Object phone) {
return findByProperty(PHONE, phone);
}
public List findByHomepage(Object homepage) {
return findByProperty(HOMEPAGE, homepage);
}
public List findByComefrom(Object comefrom) {
return findByProperty(COMEFROM, comefrom);
}
public List findByMsn(Object msn) {
return findByProperty(MSN, msn);
}
public List findByQq(Object qq) {
return findByProperty(QQ, qq);
}
public List findBySkype(Object skype) {
return findByProperty(SKYPE, skype);
}
public List findByIcq(Object icq) {
return findByProperty(ICQ, icq);
}
public List findByYahoo(Object yahoo) {
return findByProperty(YAHOO, yahoo);
}
public List findBySelfshow(Object selfshow) {
return findByProperty(SELFSHOW, selfshow);
}
public List findBySignature(Object signature) {
return findByProperty(SIGNATURE, signature);
}
public List findByUsesign(Object usesign) {
return findByProperty(USESIGN, usesign);
}
public List findByUseportrait(Object useportrait) {
return findByProperty(USEPORTRAIT, useportrait);
}
public List findByPortrait(Object portrait) {
return findByProperty(PORTRAIT, portrait);
}
public List findByPortraitaddress(Object portraitaddress) {
return findByProperty(PORTRAITADDRESS, portraitaddress);
}
public List findByPortraitwidth(Object portraitwidth) {
return findByProperty(PORTRAITWIDTH, portraitwidth);
}
public List findByPortraitheight(Object portraitheight) {
return findByProperty(PORTRAITHEIGHT, portraitheight);
}
public List findByAnswer(Object answer) {
return findByProperty(ANSWER, answer);
}
public List findByTopicnum(Object topicnum) {
return findByProperty(TOPICNUM, topicnum);
}
public List findByPostnum(Object postnum) {
return findByProperty(POSTNUM, postnum);
}
public List findByTipwave(Object tipwave) {
return findByProperty(TIPWAVE, tipwave);
}
public List findByReceiveemail(Object receiveemail) {
return findByProperty(RECEIVEEMAIL, receiveemail);
}
public List findByHiden(Object hiden) {
return findByProperty(HIDEN, hiden);
}
public List findByState(Object state) {
return findByProperty(STATE, state);
}
public List findByMedal(Object medal) {
return findByProperty(MEDAL, medal);
}
public List findByDounum(Object dounum) {
return findByProperty(DOUNUM, dounum);
}
public List findByForumpoint(Object forumpoint) {
return findByProperty(FORUMPOINT, forumpoint);
}
public List findByPaypoint(Object paypoint) {
return findByProperty(PAYPOINT, paypoint);
}
public List findByReadaccess(Object readaccess) {
return findByProperty(READACCESS, readaccess);
}
public List findAll() {
Session session = getSession();
try {
String queryString = "from User";
Query queryObject = session.createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
return null;
} finally{
closeSession();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -