J2EE 课程设计实训项目《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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




