J2EE 课程设计实训项目《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
更新时间:2023-08-30 15:34:01 阅读量: 教育文库 文档下载
- j2ee推荐度:
- 相关推荐
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1/2部分)
1.1.1系统前台用户管理的DAO组件的实现
1、在项目中添加一个HibernateUtil类
(1)类名称为HibernateUtil,包名称为com.px1987.webbbs.hibernatedao
(2)编程该类
杨教授大学堂,版权所有,盗版必究。1/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
package com.px1987.webbbs.hibernatedao;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
/* 静态初始器,当JVM(Java虚拟机)加载HibernateUtil类时,会执行该静态代码块。
*/
static {
try{ // Create the SessionFactory
sessionFactory = new
Configuration().configure().buildSessionFactory();
/*也可以采用下面的方式
Configuration hibernateConfiguration=new Configuration();
sessionFactory = hibernateConfiguration.configure().buildSessionFactory();
*/
}
catch (Throwable ex){
throw new ExceptionInInitializerError(ex);
}
杨教授大学堂,版权所有,盗版必究。2/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
}
public static final ThreadLocal threadLocal = new ThreadLocal();
public static Session currentSession() {
Session currentSession = (Session) threadLocal.get();
if (currentSession == null) {
currentSession = sessionFactory.openSession();
threadLocal.set(currentSession);
}
return currentSession;
}
//下面的方法是满足Hibernate中的拦截器组件的应用需要
public static Session currentSession(Interceptor someOneInterceptor){ Session currentSession = (Session) threadLocal.get();
if (currentSession == null){
currentSession = sessionFactory.openSession(someOneInterceptor);
threadLocal.set(currentSession);
}
return currentSession;
}
public static void closeSession(){
Session currentSession = (Session) threadLocal.get();
if (currentSession != null){
currentSession.close();
}
threadLocal.set(null);
}
}
2、针对UserManageDAOInterface的DAO接口提供一个实现类
(1)类名称为UserManageDAOHibernateImple,包名称为com.px1987.webbbs.hibernatedao、并且继承Observable类
杨教授大学堂,版权所有,盗版必究。3/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
(2)编程该实现类
package com.px1987.webbbs.hibernatedao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
杨教授大学堂,版权所有,盗版必究。4/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料import java.util.List;
import java.util.Map;
import java.util.Observable;
import java.util.Set;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Expression;
import org.springframework.dao.DataAccessException;
import com.px1987.webbbs.config.ClassNameConfig;
import http://www.77cn.com.cnerInfoBasePO;
import http://www.77cn.com.cnerInfoPO;
import http://www.77cn.com.cnerManageDAOInterface;
import com.px1987.webbbs.exception.WebBBSException;
import http://www.77cn.com.cnerInfoInterceptor;
import com.px1987.webbbs.model.PageStateVO_Prototype;
import com.px1987.webbbs.util.LogInfoFactory;
public class UserManageDAOHibernateImple extends Observable implements UserManageDAOInterface {
public UserManageDAOHibernateImple() {
}
public boolean batchDeleteUserInfo(ArrayList deletedUserIDs)
throws WebBBSException {
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
Connection con=null;
try{
杨教授大学堂,版权所有,盗版必究。5/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
con=session.connection();
// 下面的批处理是首先删除BBSInfo
String deleteBBSInfoSql="delete from BBS where userID=?";
java.sql.PreparedStatement pstmtBBSInfoDeleted =
con.prepareStatement(deleteBBSInfoSql,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Iterator allBBSInfoDeletedItem=deletedUserIDs.iterator();
while(allBBSInfoDeletedItem.hasNext()){
String oneUserIDToDeleted=(String)allBBSInfoDeletedItem.next();
pstmtBBSInfoDeleted.setString(1,oneUserIDToDeleted);
pstmtBBSInfoDeleted.addBatch();
}
pstmtBBSInfoDeleted.executeBatch();
// 下面的批处理是首先删除UserInfo
String deleteUserInfoSql="delete from userInfo where userID=?";
java.sql.PreparedStatement pstmtUserInfoDeleted =
con.prepareStatement(deleteUserInfoSql,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Iterator allUserInfoDeletedItem=deletedUserIDs.iterator();
while(allUserInfoDeletedItem.hasNext()){
String oneUserIDToDeleted=(String)allUserInfoDeletedItem.next();
pstmtUserInfoDeleted.setString(1,oneUserIDToDeleted);
pstmtUserInfoDeleted.addBatch();
}
pstmtUserInfoDeleted.executeBatch();
http://www.77cn.com.cnmit();
杨教授大学堂,版权所有,盗版必究。6/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
OKOrNot=true;
}
catch (SQLException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
tx.rollback();
throw new WebBBSException("在UserManageDAOHibernateImple类中的batchDeleteUserInfo方法出现了HibernateException异常");
}
finally{
/*
try{
con.close();
}
catch(SQLException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());
}
*/
HibernateUtil.closeSession();
}
return OKOrNot;
杨教授大学堂,版权所有,盗版必究。7/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
}
public boolean deleteOneUserInfo(String registerUserID)
throws WebBBSException {
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
try{
//没有应用Hibernate中的拦截器组件时
// session = HibernateUtil.currentSession();
session = HibernateUtil.currentSession(new UserInfoInterceptor());
tx = session.beginTransaction();
UserInfoPO oneUserTODeleted=
(UserInfoPO)session.get(UserInfoPO.class,registerUserID);
if(oneUserTODeleted==null){
throw new WebBBSException("在数据库表中不存在指定userID="+registerUserID+"的数据顶目!");
}
session.delete(oneUserTODeleted);
http://www.77cn.com.cnmit();
OKOrNot=true;
}
catch (HibernateException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
tx.rollback();
throw new WebBBSException("在UserManageDAOHibernateImple类中的deleteOneUserInfo方法出现了HibernateException异常");
杨教授大学堂,版权所有,盗版必究。8/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料}
finally{
HibernateUtil.closeSession();
}
return OKOrNot;
}
public UserInfoPO doGetMaxIDUserInfo() throws WebBBSException { boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
Connection con=null;
ResultSet rs=null;
UserInfoPO oneUserInfoPO=null;
String select_SqlStatement=null;
PreparedStatement pstmt =null;
try{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
con=session.connection();
select_SqlStatement="select * from userInfo";
pstmt = con.prepareStatement(select_SqlStatement,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs=pstmt.executeQuery();
if(http://www.77cn.com.cnst()){
oneUserInfoPO=new UserInfoPO();
oneUserInfoPO.setUserName(rs.getString("userName"));
oneUserInfoPO.setUserPassWord(rs.getString("userPassWord"));
oneUserInfoPO.setId(rs.getString("userID"));
oneUserInfoPO.setUserType(rs.getInt("userType"));
杨教授大学堂,版权所有,盗版必究。9/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
oneUserInfoPO.setAliaoName(rs.getString("aliaoName"));
oneUserInfoPO.setPassWordAsk(rs.getString("passWordAsk"));
oneUserInfoPO.setUserImage(rs.getString("userImage"));
oneUserInfoPO.setRegisterTime(rs.getString("registerTime"));
oneUserInfoPO.setPassWordAnswer(rs.getString("passWordAnswer"));
oneUserInfoPO.setUserMail(rs.getString("userMail"));
oneUserInfoPO.setUserSex(rs.getInt("userSex"));
oneUserInfoPO.setUserBirthDay(rs.getString("userBirthDay"));
oneUserInfoPO.setUserComeFrom(rs.getString("userComeFrom"));
oneUserInfoPO.setUserResume(rs.getString("userResume"));
oneUserInfoPO.setUserSign(rs.getString("userSign"));
oneUserInfoPO.setEmailVisible(rs.getInt("emailVisible"));
oneUserInfoPO.setAcceptAdvise(rs.getInt("acceptAdvise"));
Map contactMethod = new HashMap();
contactMethod.put("userQQCode", rs.getString("userQQCode"));
contactMethod.put("userICQCode", rs.getString("userICQCode"));
contactMethod.put("userMSNCode", rs.getString("userMSNCode"));
oneUserInfoPO.setContactMethod(contactMethod);
}
else {
oneUserInfoPO=null;
}
http://www.77cn.com.cnmit();
}
catch (SQLException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
杨教授大学堂,版权所有,盗版必究。10/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
throw new WebBBSException("在UserManageDAOHibernateImple类中的doGetMaxIDUserInfo方法出现了HibernateException异常");
}
finally{
/*
try{
con.close();
}
catch(SQLException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
throw new WebBBSException("不能正确地关闭数据库连接!,异常的详细内容为:"+e.getMessage());
}
*/
HibernateUtil.closeSession();
}
return oneUserInfoPO;
}
public boolean insertOneUserInfo(UserInfoPO oneRegisterUserInfo)
throws WebBBSException {
boolean OKOrNot=false;
Session session=null;
Transaction tx=null;
try{
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
杨教授大学堂,版权所有,盗版必究。11/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
/*
注意:对于采用MS SQLServer2000的JDBC驱动程序则应该进行中文编码的转换,而采用JDTS则不需要,否则会出现中文乱码
oneUserInfo.setUserName(new String(userName.getBytes("gb2312"),"ISO8859-1"));
*/
session.save(oneRegisterUserInfo);
http://www.77cn.com.cnmit();
OKOrNot=true;
}
catch (HibernateException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
tx.rollback();
throw new WebBBSException("在UserManageDAOHibernateImple类中的insertOneUserInfo方法出现了HibernateException异常");
}
finally{
HibernateUtil.closeSession();
}
return OKOrNot;
}
public ArrayList<UserInfoBasePO> selectAllBaseUserInfo() throws WebBBSException { String HQLQuery="from http://www.77cn.com.cnerInfoBasePO";
return selectSomeBaseUserInfo(HQLQuery);
}
public ArrayList<String> selectAllRegisterUserNameInfo(String userName)
throws WebBBSException {
杨教授大学堂,版权所有,盗版必究。12/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
ArrayList allRegisterUserNameInfos = new ArrayList();
String HQLSelect="select http://www.77cn.com.cnerName from http://www.77cn.com.cnerInfoPO oneUserInfoPO where http://www.77cn.com.cnerName like '"+userName+"%'";
/* 在此中查询中不能采用带参数的形式
* String HQLSelect="select http://www.77cn.com.cnerName from http://www.77cn.com.cnerInfoPO oneUserInfoPO where http://www.77cn.com.cnerName like '?%'";
*
*/
List selectAllUserNamesResult =null;
Session session=null;
Transaction tx=null;
Query query =null;
try{
session = HibernateUtil.currentSession();
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);
}
http://www.77cn.com.cnmit();
}
catch (HibernateException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
杨教授大学堂,版权所有,盗版必究。13/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectSomeBaseUserInfo方法出现了HibernateException异常");
}
finally{
HibernateUtil.closeSession();
}
return allRegisterUserNameInfos;
}
public ArrayList<UserInfoPO> selectAllUserInfo() throws WebBBSException { String HQLQuery="from http://www.77cn.com.cnerInfoPO";
return selectSomeUserInfo(HQLQuery);
}
public UserInfoPO selectOneUserInfo(String registerUserID)
throws WebBBSException {
UserInfoPO oneUserInfoPO=null;
Session session=null;
try{
session = HibernateUtil.currentSession();
oneUserInfoPO = (UserInfoPO) session.get(UserInfoPO.class,registerUserID);
if(oneUserInfoPO==null) {
throw new WebBBSException("在数据库表中不存在指定userID="+registerUserID+"的数据顶目!");
}
}
catch (HibernateException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
杨教授大学堂,版权所有,盗版必究。14/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
throw new WebBBSException("在UserManageDAOHibernateImple的selectOneUserInfo方法出现了HibernateException异常");
}
finally{
HibernateUtil.closeSession();
}
return oneUserInfoPO;
}
public UserInfoPO selectOneUserInfoByName(String userName)
throws WebBBSException {
UserInfoPO oneUserInfoPO=null;
String HQLQuery="from http://www.77cn.com.cnerInfoPO as OneUserInfoPO where http://www.77cn.com.cnerName='"+userName+"'";
ArrayList allUserInfoSameName=selectSomeUserInfo(HQLQuery);
if(allUserInfoSameName.size()==0){
oneUserInfoPO=null;
return oneUserInfoPO;
}
oneUserInfoPO=(UserInfoPO)allUserInfoSameName.get(0); //取最前面的一位(因为要求在数据库表中不存在同名的两个用户)
return oneUserInfoPO;
}
public UserInfoPO selectOneUserInfoData(String userName, String userPassWord)
throws WebBBSException {
/*
UserInfoPO oneUserInfoPO=null;
String HQLQuery="from http://www.77cn.com.cnerInfoPO where userName='"+
userName+"' and userPassWord='"+userPassWord+"'";
杨教授大学堂,版权所有,盗版必究。15/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
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 = HibernateUtil.currentSession();
Criteria crit = session.createCriteria(UserInfoPO.class);
crit.add(Expression.eq("userName", userName));
crit.add(Expression.eq("userPassWord", userPassWord));
oneUserInfoPO = (UserInfoPO) crit.uniqueResult();
}
catch (HibernateException e) {
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
throw new WebBBSException("在UserManageDAOHibernateImple类中的SelectOneUserInfoData方法出现了HibernateException异常");
}
finally {
HibernateUtil.closeSession();
}
return oneUserInfoPO;
杨教授大学堂,版权所有,盗版必究。16/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
}
public ArrayList<UserInfoBasePO> selectSomeBaseUserInfo(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();
selectAllPOResult = session.createQuery(HQLSelect).list();
Iterator allPOItem=selectAllPOResult.iterator();
while(allPOItem.hasNext()){
UserInfoBasePO oneBaseUserInfoPO=(UserInfoBasePO)allPOItem.next();
allUserInfos.add(oneBaseUserInfoPO);
}
http://www.77cn.com.cnmit();
}
catch (HibernateException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
notifyObservers(e); //当出现异常时将通知各个观察者
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectSomeBaseUserInfo方法出现了HibernateException异常");
}
finally{
HibernateUtil.closeSession();
杨教授大学堂,版权所有,盗版必究。17/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料}
return allUserInfos;
}
public ArrayList<UserInfoPO> selectSomeUserInfo(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); //激活查询缓存
//指定要使用的cacheRegion,可选
query.setCacheRegion("http://www.77cn.com.cnerInfoPO");
selectAllPOResult = query.list();
Iterator allPOItem=selectAllPOResult.iterator();
while(allPOItem.hasNext()){
UserInfoPO oneUserInfoPO=(UserInfoPO)allPOItem.next();
allUserInfos.add(oneUserInfoPO);
}
http://www.77cn.com.cnmit();
}
catch (HibernateException e){
int logImpleKind=
Integer.parseInt(ClassNameConfig.getProperty("logImpleKind"));
this.addObserver(LogInfoFactory.newLogInstance(logImpleKind));
this.setChanged(); //注意要设置变化点
杨教授大学堂,版权所有,盗版必究。18/35页
基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
notifyObservers(e); //当出现异常时将通知各个观察者
throw new WebBBSException("在UserManageDAOHibernateImple类中的selectSomeUserInfo方法出现了HibernateException异常");
}
finally{
HibernateUtil.closeSession();
}
return allUserInfos;
}
public int selectTotalGeneralRegisterUserCounter(Map registerUserInfos) throws WebBBSException{
String WhereString="";
Set keySet=registerUserInfos.keySet();
Iterator allMapKeys=keySet.iterator();
while(allMapKeys.hasNext()) {
String oneMapKey=(String)allMapKeys.next();
WhereString=WhereString+" oneUserInfoPO."+oneMapKey+" like '%"+(String)registerUserInfos.get(oneMapKey)+"%' and ";
}
WhereString=WhereString.substring(0, WhereString.length()-5);
String HQLSelect="select count(*) from http://www.77cn.com.cnerInfoPO as oneUserInfoPO where http://www.77cn.com.cnerType=1 and "+WhereString;
int totalRegisterUserCounter;
Session session=null;
Transaction tx=null;
Query query =null;
try {
session = HibernateUtil.currentSession();
tx = session.beginTransaction();
query = session.createQuery(HQLSelect);
杨教授大学堂,版权所有,盗版必究。19/35页
正在阅读:
J2EE 课程设计实训项目《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分)08-30
1课发展汉语口语1-205-26
文献综述 - 图文09-21
国家公务员考试图形推理必考点:位置类03-05
西门子611D驱动基础及调试08-30
小学五年级下册空间与图形习题修订稿04-10
室内挥发性有机污染物的来源_危害与控制05-15
《资本论》中的“二重性”学说探论01-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 系统
- 前台
- 组件
- 对应
- 单元
- 试用
- 课程
- 实现
- 部分
- 项目
- 用户
- 设计
- 管理
- 论坛
- J2EE
- DAO
- BBS
- 八年级(下)文言文阅读复习
- 2016-2022年中国稻米加工行业市场分析及发展机遇预测报告
- 2-收益法和市场法企业价值评估案例讲解
- 14、第七章 新时期的小说创作 第四节 中国式的现代派小说、先锋小说
- 一年级拼音书写比赛总结
- 关于苏州市基层文化社区标准化建设档案的建议内容(1)
- 超星漫画艺术欣赏与创作课后答案
- 和平中学防恐反恐演练预案
- 中国数字微波通信市场产销调研与产业投资分析报告(2015-2020)
- 河南科技大学电路考试试卷 电路A(2)-B卷
- K12推荐学习四川省宜宾市一中2017-2018学年高一政治上学期第10周周训练题
- 二年级书写比赛内容
- 汉语拼音字母描红(A4打印)
- 中考化学考前必背知识点总结5其他单质、氧化物、酸、碱、盐的除杂方法
- 读书报告模版
- 食品酶学各章复习题汇总(本科)
- 2010年中国经济环境分析
- 财务会计第五章 投资
- 表格式北师大版六年级数学上册教案
- 浅谈我国中小企业融资渠道不畅的现状及原因_任泽洙