67,512
社区成员
发帖
与我相关
我的任务
分享
package com.shop.front.dao;
import java.util.Date;
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.Transaction;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.shop.front.coll.IUserInfoDAO;
import com.shop.front.vo.UserInfo;
/**
* Data access object (DAO) for domain model class UserInfo.
* @see com.shop.front.vo.UserInfo
* @author MyEclipse - Hibernate Tools
*/
public class UserInfoDAO extends HibernateDaoSupport implements IUserInfoDAO {
private static final Log log = LogFactory.getLog(UserInfoDAO.class);
//property constants
public static final String USER_ACCOUNT = "userAccount";
public static final String USER_NUMBER = "userNumber";
public static final String USER_NAME = "userName";
public static final String USER_PWD = "userPwd";
public static final String USER_SEX = "userSex";
public static final String USER_PHONE = "userPhone";
public static final String USER_MOBILE = "userMobile";
public static final String EMAIL = "email";
public static final String ADDERSS = "adderss";
public static final String POST_CODE = "postCode";
public static final String COMMEND_MAN = "commendMan";
public static final String INTEGRAL = "integral";
public static final String PWD_MATTER = "pwdMatter";
public static final String PWD_RESULT = "pwdResult";
public static final String STATE_ID = "stateId";
public static final String REMARK = "remark";
private String hql=null;
private Query query=null;
private List list=null;
protected void initDao() {
//do nothing
}
/**
* 根据传入的用户名和密码来判断
* 此用户是存在。如果存在返回一个用户实例,
* 如果不存在返回null
*/
public Object login(String useraccount ,String userpwd){
hql="From UserInfo where userAccount=? and userPwd=? and stateId=1";
query=this.getSession().createQuery(hql);
query.setString(0, useraccount);
query.setString(1, userpwd);
list=query.list();
if(list.size()>0){
return list.get(0);
}
this.getSession().close();
return null;
}
/**
* 用户注册
*
*/
public boolean register(UserInfo userinfo){
try{
this.getSession().save(userinfo);
this.getSession().close();
}catch(Exception ex){
ex.printStackTrace();
System.out.println("注册UserInfoDAO出错");
this.getSession().close();
return false;
}
return true;
}
/**
* 查找用户名是否存在
* @author account 用户名,true表示可用,false不可用
*/
public boolean searchUserAcount(String account){
hql="From UserInfo where userAccount=?";
query=this.getSession().createQuery(hql);
query.setString(0, account);
list=query.list();
if(list.size()<1){
return true;
}
this.getSession().close();
return false;
}
/** 修改密码
* @author 修改成功返回true,修改失败返回false
*
*/
public boolean change_password(UserInfo userinfo){
try{
hql="update UserInfo set userPwd=? where userId=?";
query=this.getSession().createQuery(hql);
query.setString(0,userinfo.getUserPwd());
query.setInteger(1, userinfo.getUserId());
int i=query.executeUpdate();
if(i==0){
return false;
}
this.getSession().close();
// this.getSession().update(userinfo);
}catch(Exception ex){
ex.printStackTrace();
System.out.println("Dao出错");
this.getSession().close();
return false;
}
return true;
}
/** 修改用户信息
* @author 修改成功返回true,修改失败返回false
*
*/
public boolean update_userInfo(UserInfo userinfo){
try{
// hql="update UserInfo set userSex=?,userPhone=?,userMobile=?,adderss=?,postCode=?,userName=? where userId=?";
// query=this.getSession().createQuery(hql);
// query.setByte(0, userinfo.getUserSex());
// query.setString(1,userinfo.getUserPhone());
// query.setString(2, userinfo.getUserMobile());
// query.setString(3,userinfo.getAdderss());
// query.setString(4, userinfo.getPostCode());
// query.setString(5, userinfo.getUserName());
// query.setInteger(6, userinfo.getUserId());
// int i=query.executeUpdate();
// if(i==0){
// return false;
// }
Transaction tran = this.getSession().beginTransaction() ;
this.getSession().update(userinfo);
tran.commit();
this.getSession().close();
}catch(Exception ex){
ex.printStackTrace();
System.out.println("Dao出错");
this.getSession().close();
return false;
}
return true;
}
}
package com.shop.factory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
public class HibernateSessionFactory {
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static Configuration configuration = new Configuration();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;
private HibernateSessionFactory() {
}
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}
return session;
}
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* return session factory
*
*/
public static org.hibernate.SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* return session factory
*
* session factory will be rebuilded in the next call
*/
public static void setConfigFile(String configFile) {
HibernateSessionFactory.configFile = configFile;
sessionFactory = null;
}
/**
* return hibernate configuration
*
*/
public static Configuration getConfiguration() {
return configuration;
}
}
public Object login(String useraccount ,String userpwd){
hql="From UserInfo where userAccount=? and userPwd=? and stateId=1";
query=this.getSession().createQuery(hql);
query.setString(0, useraccount);
query.setString(1, userpwd);
list=query.list();
this.getSession().close();
if(list.size()>0){
return list.get(0);
}
return null;
}