教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

J2EE 课程设计实训项目《BBS论坛系统》——实现系统前台用户管理

来源:网络收集 时间:2026-09-04
导读: 基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系统前台用户管理的DAO组件及对应的单元测试用例(第1部分) 杨教授大学堂精心创作的优秀程序员职业提升必读系列资料 基于J2EE Struts框架的课程设计实训项目——《BBS论坛系统》——实现系

基于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 erInfoBasePO;

import erInfoPO;

import erManageDAOInterface;

import com.px1987.webbbs.exception.WebBBSException;

import erInfoInterceptor;

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);

…… 此处隐藏:4196字,全部文档内容请下载后查看。喜欢就下载吧 ……

J2EE 课程设计实训项目《BBS论坛系统》——实现系统前台用户管理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/91106.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)