📄 adminusermanagedaohibernateimple.java
字号:
package com.px1987.webbbs.dao;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.px1987.webbbs.exception.WebBBSException;
public class AdminUserManageDAOHibernateImple implements
AdminUserManageDAOInterface {
public AdminUserManageDAOHibernateImple() {
// TODO 自动生成构造函数存根
}
public boolean batchDeleteAdminUserInfo(ArrayList deletedUserIDs)
throws WebBBSException {
// TODO 自动生成方法存根
return false;
}
public AdminUserInfoPO selectOneAdminUserInfoData(String userName, String userPassWord) throws WebBBSException
{
AdminUserInfoPO oneAdminUserInfoPO=null;
String HQLQuery="from com.px1987.webbbs.dao.AdminUserInfoPO where userName='"+
userName+"' and userPassWord='"+userPassWord+"'";
ArrayList allAdminUserInfo=selectSomeAdminUserInfo(HQLQuery);
if(allAdminUserInfo.size()==0)
{
oneAdminUserInfoPO=null;
}
oneAdminUserInfoPO=(AdminUserInfoPO)allAdminUserInfo.get(0); //取最前面的一位(因为要求在数据库表中不存在同名的两个用户)
return oneAdminUserInfoPO;
}
public boolean deleteOneAdminUserInfo(String adminUserID) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
try
{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
AdminUserInfoPO oneAdminUserTODeleted=(AdminUserInfoPO)session.get(AdminUserInfoPO.class,adminUserID);
if(oneAdminUserTODeleted==null)
{
throw new WebBBSException("在数据库表中不存在指定userID="+adminUserID+"的数据顶目!");
}
session.delete(oneAdminUserTODeleted);
tx.commit();
OKOrNot=true;
}
catch (HibernateException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的deleteOneAdminUserInfo方法出现了HibernateException异常");
}
finally
{
HibernateUtil.closeSession();
}
return OKOrNot;
}
public boolean insertOneAdminUserInfo(AdminUserInfoPO oneAdminUserInfo) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
try
{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
/*
注意:对于采用MS SQLServer2000的JDBC驱动程序则应该进行中文编码的转换,而采用JDTS则不需要,否则会出现中文乱码
oneUserInfo.setUserName(new String(userName.getBytes("gb2312"),"ISO8859-1"));
*/
session.save(oneAdminUserInfo);
tx.commit();
OKOrNot=true;
}
catch (HibernateException he)
{
throw new WebBBSException("在UserManageDAOHibernateImple类中的insertOneAdminUserInfo方法出现了HibernateException异常");
}
finally
{
HibernateUtil.closeSession();
}
return OKOrNot;
}
public ArrayList selectAllAdminUserInfo() throws WebBBSException
{
String HQLQuery="from com.px1987.webbbs.dao.AdminUserInfoPO";
return selectSomeAdminUserInfo(HQLQuery);
}
public ArrayList selectAllAdminUserNameInfo(String adminName) throws WebBBSException
{
ArrayList allAdminUserNameInfos = new ArrayList();
String HQLSelect="select oneAdminUserInfoPO.userName from com.px1987.webbbs.dao.AdminUserInfoPO oneAdminUserInfoPO where oneAdminUserInfoPO.userName like '"+adminName+"%'";
/* 在此中查询中不能采用带参数的形式
* String HQLSelect="select oneUserInfoPO.userName from com.px1987.webbbs.dao.UserInfoPO oneUserInfoPO where oneUserInfoPO.userName like '?%'";
*
*/
List selectAllAdminUserNamesResult =null;
Session session=null;
Transaction tx=null;
Query query =null;
try
{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
query=session.createQuery(HQLSelect);
selectAllAdminUserNamesResult = query.list();
Iterator allUserNameItem=selectAllAdminUserNamesResult.iterator();
while(allUserNameItem.hasNext())
{
String oneUserNameInfo=(String)allUserNameItem.next();
allAdminUserNameInfos.add(oneUserNameInfo);
}
tx.commit();
}
catch (HibernateException he)
{
throw new WebBBSException("在AdminUserManageDAOHibernateImple类中的selectAllAdminUserNameInfo方法出现了HibernateException异常");
}
finally
{
HibernateUtil.closeSession();
}
return allAdminUserNameInfos;
}
public AdminUserInfoPO selectOneAdminUserInfo(String adminUserID) throws WebBBSException
{
AdminUserInfoPO oneAdminUserInfoPO=null;
Session session=null;
try
{
session = HibernateUtil.currentSession();
oneAdminUserInfoPO = (AdminUserInfoPO) session.get(AdminUserInfoPO.class,adminUserID);
if(oneAdminUserInfoPO==null)
{
throw new WebBBSException("在数据库表中不存在指定userID="+adminUserID+"的数据顶目!");
}
}
catch (HibernateException he)
{
throw new WebBBSException("在AdminUserManageDAOHibernateImple类的selectOneAdminUserInfo方法出现了HibernateException异常");
}
finally
{
HibernateUtil.closeSession();
}
return oneAdminUserInfoPO;
}
public AdminUserInfoPO selectOneAdminUserInfoByName(String adminUserName) throws WebBBSException
{
AdminUserInfoPO oneAdminUserInfoPO=null;
String HQLQuery="from com.px1987.webbbs.dao.AdminUserInfoPO where userName='"+adminUserName+"'";
ArrayList allAdminUserInfoSameName=selectSomeAdminUserInfo(HQLQuery);
if(allAdminUserInfoSameName.size()==0)
{
oneAdminUserInfoPO=null;
return oneAdminUserInfoPO;
}
oneAdminUserInfoPO=(AdminUserInfoPO)allAdminUserInfoSameName.get(0); //取最前面的一位(因为要求在数据库表中不存在同名的两个用户)
return oneAdminUserInfoPO;
}
public ArrayList selectSomeAdminUserInfo(String HQLSelect) throws WebBBSException
{
ArrayList allUserInfos=new ArrayList();
List selectAllPOResult =null;
Session session=null;
Transaction tx=null;
Query query =null;
try
{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
query= session.createQuery(HQLSelect);
query.setCacheable(true); //激活查询缓存
query.setCacheRegion("com.px1987.webbbs.dao.AdminUserInfoPO"); //指定要使用的cacheRegion,可选
selectAllPOResult = query.list();
Iterator allPOItem=selectAllPOResult.iterator();
while(allPOItem.hasNext())
{
AdminUserInfoPO oneAdminUserInfoPO=(AdminUserInfoPO)allPOItem.next();
allUserInfos.add(oneAdminUserInfoPO);
}
tx.commit();
}
catch (HibernateException he)
{
throw new WebBBSException("在AdminUserManageDAOHibernateImple类中的selectSomeAdminUserInfo方法出现了HibernateException异常");
}
finally
{
HibernateUtil.closeSession();
}
return allUserInfos;
}
public boolean updateOneAdminUserInfo( AdminUserInfoPO oneUpdatedAdminUserInfo) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
AdminUserInfoPO oneAdminUserInfoPO=null;
try
{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
oneAdminUserInfoPO = (AdminUserInfoPO) session.get(AdminUserInfoPO.class, oneUpdatedAdminUserInfo.getId());
if(oneAdminUserInfoPO==null)
{
throw new WebBBSException("在数据库表中不存在指定userID="+oneUpdatedAdminUserInfo.getId().toString()+"的数据顶目!");
}
oneAdminUserInfoPO.setUserName(oneUpdatedAdminUserInfo.getUserName());
oneAdminUserInfoPO.setUserPassWord(oneUpdatedAdminUserInfo.getUserPassWord());
oneAdminUserInfoPO.setUserType(oneUpdatedAdminUserInfo.getUserType());
oneAdminUserInfoPO.setAliaoName(oneUpdatedAdminUserInfo.getAliaoName());
oneAdminUserInfoPO.setPassWordAsk(oneUpdatedAdminUserInfo.getPassWordAsk());
oneAdminUserInfoPO.setUserImage(oneUpdatedAdminUserInfo.getUserImage());
oneAdminUserInfoPO.setRegisterTime(oneUpdatedAdminUserInfo.getRegisterTime());
oneAdminUserInfoPO.setPassWordAnswer(oneUpdatedAdminUserInfo.getPassWordAnswer());
oneAdminUserInfoPO.setUserMail(oneUpdatedAdminUserInfo.getUserMail());
oneAdminUserInfoPO.setUserSex(oneUpdatedAdminUserInfo.getUserSex());
oneAdminUserInfoPO.setUserBirthDay(oneUpdatedAdminUserInfo.getUserBirthDay());
oneAdminUserInfoPO.setUserComeFrom(oneUpdatedAdminUserInfo.getUserComeFrom());
oneAdminUserInfoPO.setUserResume(oneUpdatedAdminUserInfo.getUserResume());
oneAdminUserInfoPO.setWorkUnit(oneUpdatedAdminUserInfo.getWorkUnit());
oneAdminUserInfoPO.setStudyHistory(oneUpdatedAdminUserInfo.getStudyHistory());
oneAdminUserInfoPO.setStudySchool(oneUpdatedAdminUserInfo.getStudySchool());
oneAdminUserInfoPO.setIdCardNo(oneUpdatedAdminUserInfo.getIdCardNo());
session.flush();
tx.commit();
OKOrNot=true;
}
catch (HibernateException he)
{
throw new WebBBSException("在AdminUserManageDAOHibernateImple类中的updateOneUserInfo方法出现了HibernateException异常");
}
finally
{
HibernateUtil.closeSession();
}
return OKOrNot;
}
public boolean updateOneAdminUserPassWord(String adminUserID,String newPassWord) throws WebBBSException
{
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
String HQL="update com.px1987.webbbs.dao.AdminUserInfoPO as oneAdminUserInfoPO set oneAdminUserInfoPO.userPassWord='"+newPassWord+"' where oneAdminUserInfoPO.id='"+adminUserID+"'";
try
{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
Query query = session.createQuery(HQL);
query.executeUpdate();
tx.commit();
OKOrNot=true;
}
catch (HibernateException he)
{
throw new WebBBSException("在AdminUserManageDAOHibernateImple类中的updateOneAdminUserPassWord方法出现了HibernateException异常");
}
finally
{
HibernateUtil.closeSession();
}
return OKOrNot;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -