📄 usermanagedaospringhibernateimple.java
字号:
package com.px1987.webbbs.dao;
import java.util.*;
import org.hibernate.*;
import org.hibernate.criterion.*;
import com.px1987.webbbs.exception.WebBBSException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.dao.DataAccessException;
public class UserManageDAOSpringHibernateImple extends HibernateDaoSupport implements UserManageDAOInterface
{
public UserManageDAOSpringHibernateImple()
{
// TODO 自动生成构造函数存根
}
public boolean BatchDeleteUserInfo(ArrayList deletedUserIDs) throws WebBBSException
{
// TODO 自动生成方法存根
return false;
}
public UserInfoPO SelectOneUserInfoData(String userName, String userPassWord) throws WebBBSException
{
/*
UserInfoPO oneUserInfoPO=null;
String HQLQuery="from com.px1987.webbbs.dao.UserInfoPO where userName='"+
userName+"' and userPassWord='"+userPassWord+"'";
ArrayList allUserInfoPO=selectSomeUserInfo(HQLQuery);
if(allUserInfoPO.size()==0)
{
oneUserInfoPO=null;
}
oneUserInfoPO=(UserInfoPO)allUserInfoPO.get(0); //取最前面的一位(因为要求在数据库表中不存在同名的两个用户)
return oneUserInfoPO;
*/
UserInfoPO oneUserInfoPO = null;
Session session = null;
try
{
session = this.getSession(); //不再需要自己利用代码关闭Session
Criteria crit = session.createCriteria(UserInfoPO.class);
crit.add(Expression.eq("userName", userName));
crit.add(Expression.eq("userPassWord", userPassWord));
oneUserInfoPO = (UserInfoPO) crit.uniqueResult();
}
catch (DataAccessException e)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的SelectOneUserInfoData方法出现了HibernateException异常");
}
return oneUserInfoPO;
}
public boolean deleteOneUserInfo(String registerUserID) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
try
{
session = this.getSession();
tx = session.beginTransaction();
UserInfoPO oneUserTODeleted=(UserInfoPO)session.get(UserInfoPO.class,registerUserID);
if(oneUserTODeleted==null)
{
throw new WebBBSException("在数据库表中不存在指定userID="+registerUserID+"的数据顶目!");
}
session.delete(oneUserTODeleted);
tx.commit();
OKOrNot=true;
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的deleteOneUserInfo方法出现了HibernateException异常");
}
return OKOrNot;
}
public boolean insertOneUserInfo(UserInfoPO oneRegisterUserInfo) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
try
{
session = this.getSession();
tx = session.beginTransaction();
/*
注意:对于采用MS SQLServer2000的JDBC驱动程序则应该进行中文编码的转换,而采用JDTS则不需要,否则会出现中文乱码
oneUserInfo.setUserName(new String(userName.getBytes("gb2312"),"ISO8859-1"));
*/
session.save(oneRegisterUserInfo);
tx.commit();
OKOrNot=true;
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的insertOneUserInfo方法出现了HibernateException异常");
}
return OKOrNot;
}
public ArrayList selectAllBaseUserInfo() throws WebBBSException
{
String HQLQuery="from com.px1987.webbbs.dao.UserInfoBasePO";
return selectSomeBaseUserInfo(HQLQuery);
}
public ArrayList selectAllRegisterUserNameInfo(String userName) throws WebBBSException
{
ArrayList allRegisterUserNameInfos = new ArrayList();
String HQLSelect="select oneUserInfoPO.userName from com.px1987.webbbs.dao.UserInfoPO oneUserInfoPO where oneUserInfoPO.userName like '"+userName+"%'";
/* 在此中查询中不能采用带参数的形式
* String HQLSelect="select oneUserInfoPO.userName from com.px1987.webbbs.dao.UserInfoPO oneUserInfoPO where oneUserInfoPO.userName like '?%'";
*
*/
List selectAllUserNamesResult =null;
Session session=null;
Transaction tx=null;
Query query =null;
try
{
session = this.getSession();
tx = session.beginTransaction();
query=session.createQuery(HQLSelect);
selectAllUserNamesResult = query.list();
Iterator allUserNameItem=selectAllUserNamesResult.iterator();
while(allUserNameItem.hasNext())
{
String oneUserNameInfo=(String)allUserNameItem.next();
allRegisterUserNameInfos.add(oneUserNameInfo);
}
tx.commit();
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectSomeBaseUserInfo方法出现了HibernateException异常");
}
return allRegisterUserNameInfos;
}
public ArrayList selectAllUserInfo() throws WebBBSException
{
String HQLQuery="from com.px1987.webbbs.dao.UserInfoPO";
return selectSomeUserInfo(HQLQuery);
}
public UserInfoPO selectOneUserInfo(String registerUserID) throws WebBBSException
{
UserInfoPO oneUserInfoPO=null;
Session session=null;
try
{
session = this.getSession();
oneUserInfoPO = (UserInfoPO) session.get(UserInfoPO.class,registerUserID);
if(oneUserInfoPO==null)
{
throw new WebBBSException("在数据库表中不存在指定userID="+registerUserID+"的数据顶目!");
}
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple的selectOneUserInfo方法出现了HibernateException异常");
}
return oneUserInfoPO;
}
public UserInfoPO selectOneUserInfoByName(String userName) throws WebBBSException
{
UserInfoPO oneUserInfoPO=null;
String HQLQuery="from com.px1987.webbbs.dao.UserInfoPO as OneUserInfoPO where OneUserInfoPO.userName='"+userName+"'";
ArrayList allUserInfoSameName=selectSomeUserInfo(HQLQuery);
if(allUserInfoSameName.size()==0)
{
oneUserInfoPO=null;
return oneUserInfoPO;
}
oneUserInfoPO=(UserInfoPO)allUserInfoSameName.get(0); //取最前面的一位(因为要求在数据库表中不存在同名的两个用户)
return oneUserInfoPO;
}
public ArrayList selectSomeBaseUserInfo(String HQLSelect) throws WebBBSException
{
ArrayList allUserInfos=new ArrayList();
List selectAllPOResult =null;
Session session=null;
Transaction tx=null;
Query query =null;
try
{
session = this.getSession();
tx = session.beginTransaction();
selectAllPOResult = session.createQuery(HQLSelect).list();
Iterator allPOItem=selectAllPOResult.iterator();
while(allPOItem.hasNext())
{
UserInfoBasePO oneBaseUserInfoPO=(UserInfoBasePO)allPOItem.next();
allUserInfos.add(oneBaseUserInfoPO);
}
tx.commit();
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectSomeBaseUserInfo方法出现了HibernateException异常");
}
return allUserInfos;
}
public ArrayList selectSomeUserInfo(String HQLSelect) throws WebBBSException
{
ArrayList allUserInfos=new ArrayList();
List selectAllPOResult =null;
Session session=null;
Transaction tx=null;
Query query =null;
try
{
session = this.getSession();
tx = session.beginTransaction();
query= session.createQuery(HQLSelect);
query.setCacheable(true); //激活查询缓存
query.setCacheRegion("com.px1987.webbbs.dao.UserInfoPO"); //指定要使用的cacheRegion,可选
selectAllPOResult = query.list();
Iterator allPOItem=selectAllPOResult.iterator();
while(allPOItem.hasNext())
{
UserInfoPO oneUserInfoPO=(UserInfoPO)allPOItem.next();
allUserInfos.add(oneUserInfoPO);
}
tx.commit();
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectSomeUserInfo方法出现了HibernateException异常");
}
return allUserInfos;
}
public int selectTotalRegisterUserCounter() throws WebBBSException
{
int totalRegisterUserCounter;
Session session=null;
Transaction tx=null;
Query query =null;
String HQLQuery="select count(*) from com.px1987.webbbs.dao.UserInfoPO";
try
{
session = this.getSession();
tx = session.beginTransaction();
query = session.createQuery(HQLQuery);
Integer objectCounter=(Integer)query.uniqueResult();
totalRegisterUserCounter=objectCounter.intValue();
tx.commit();
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectTotalRegisterUserCounter方法出现了HibernateException异常");
}
return totalRegisterUserCounter;
}
public ArrayList selectUserSomePropertyInfo(String HQLSelect) throws WebBBSException
{
ArrayList allUserPropertyInfoArrays=new ArrayList();
List selectAllPropertyResult =null;
Session session=null;
Transaction tx=null;
Query query =null;
try
{
session = this.getSession();
tx = session.beginTransaction();
query= session.createQuery(HQLSelect);
query.setCacheable(true); //激活查询缓存
query.setCacheRegion("com.px1987.webbbs.dao.UserInfoPO"); //指定要使用的cacheRegion,可选
selectAllPropertyResult = query.list();
Iterator allPOPropertyItem=selectAllPropertyResult.iterator();
while(allPOPropertyItem.hasNext())
{
Object[] oneUserPOPropertyInfo=(Object[])allPOPropertyItem.next();
allUserPropertyInfoArrays.add(oneUserPOPropertyInfo);
}
tx.commit();
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectUserSomePropertyInfo方法出现了HibernateException异常");
}
return allUserPropertyInfoArrays;
}
public boolean updateOneUserInfo(UserInfoPO oneUpdatedRegisterUserInfo) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
UserInfoPO oneUserInfoPO=null;
try
{
session = this.getSession();
tx = session.beginTransaction();
oneUserInfoPO = (UserInfoPO) session.get(UserInfoPO.class, oneUpdatedRegisterUserInfo.getId());
if(oneUserInfoPO==null)
{
throw new WebBBSException("在数据库表中不存在指定userID="+oneUpdatedRegisterUserInfo.getId().toString()+"的数据顶目!");
}
oneUserInfoPO.setAliaoName(oneUpdatedRegisterUserInfo.getAliaoName());
oneUserInfoPO.setPassWordAnswer(oneUpdatedRegisterUserInfo.getPassWordAnswer());
oneUserInfoPO.setPassWordAsk(oneUpdatedRegisterUserInfo.getPassWordAsk());
oneUserInfoPO.setUserImage(oneUpdatedRegisterUserInfo.getUserImage());
oneUserInfoPO.setUserMail(oneUpdatedRegisterUserInfo.getUserMail());
oneUserInfoPO.setUserName(oneUpdatedRegisterUserInfo.getUserName());
oneUserInfoPO.setUserPassWord(oneUpdatedRegisterUserInfo.getUserPassWord());
oneUserInfoPO.setUserType(oneUpdatedRegisterUserInfo.getUserType());
oneUserInfoPO.setUserSex(oneUpdatedRegisterUserInfo.getUserSex());
oneUserInfoPO.setUserBirthDay(oneUpdatedRegisterUserInfo.getUserBirthDay());
oneUserInfoPO.setUserComeFrom(oneUpdatedRegisterUserInfo.getUserComeFrom());
oneUserInfoPO.setUserResume(oneUpdatedRegisterUserInfo.getUserResume());
oneUserInfoPO.setUserSign(oneUpdatedRegisterUserInfo.getUserSign());
oneUserInfoPO.setAcceptAdvise (oneUpdatedRegisterUserInfo.getAcceptAdvise());
oneUserInfoPO.setEmailVisible (oneUpdatedRegisterUserInfo.getEmailVisible());
oneUserInfoPO.setContactMethod(oneUpdatedRegisterUserInfo.getContactMethod());
session.flush();
tx.commit();
OKOrNot=true;
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的updateOneUserInfo方法出现了HibernateException异常");
}
return OKOrNot;
}
public boolean updateOneUserPassWord(String newPassWord, String registerUserId) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
String HQL="update com.px1987.webbbs.dao.UserInfoPO as oneUserInfoPO set oneUserInfoPO.userPassWord='"+newPassWord+"' where oneUserInfoPO.id='"+registerUserId+"'";
try
{
session = this.getSession();
tx = session.beginTransaction();
Query query = session.createQuery(HQL);
query.executeUpdate();
tx.commit();
OKOrNot=true;
}
catch (DataAccessException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的updateOneUserPassWord方法出现了HibernateException异常");
}
return OKOrNot;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -