package com.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.entity.SectionInfo;
public class ManagerDAO {
private BaseDAO dao = new BaseDAO();
private ResultSet rs = null;
private List<SectionInfo> cList = new ArrayList<SectionInfo>();// 已对象格式保存所有版块
private List<String> sign = new ArrayList<String>();// 保存分割符号图片
private List<String> allList = new ArrayList<String>();// 以字符串格式保存所有版块的名字
/*
* 树形列表图片文件
*/
// 根节点图片
private final String rootImage = "<img src=\"image/tplus.gif\" width=\"19\" height=\"20\" align=\"absmiddle\">"
+ "<img src=\"image/folders.gif\" width=\"16\" height=\"16\" align=\"absmiddle\">";
// 第一个根节点图片
private final String firstRootImage = "<img src=\"image/rplus.gif\" width=\"19\" height=\"20\" align=\"absmiddle\">"
+ "<img src=\"image/folders.gif\" width=\"16\" height=\"16\" align=\"absmiddle\">";
// 最后一个根节点图片
private final String lastRootImage = "<img src=\"image/lplus.gif\" width=\"19\" height=\"20\" align=\"absmiddle\">"
+ "<img src=\"image/folders.gif\" width=\"16\" height=\"16\" align=\"absmiddle\">";
// 子节点图片
private final String leafImage = "<img src=\"image/tminus.gif\" width=\"19\" height=\"20\" align=\"absmiddle\">"
+ "<img src=\"image/folder.gif\" width=\"16\" height=\"16\" align=\"absmiddle\">";
// 最后一个子节点图片
private final String lastLeafImage = "<img src=\"image/lminus.gif\" width=\"19\" height=\"20\" align=\"absmiddle\">"
+ "<img src=\"image/folder.gif\" width=\"16\" height=\"16\" align=\"absmiddle\">";
// 空白图片
private final String noexpandImage = "<img src=\"image/noexpand.gif\" width=\"19\" height=\"20\" align=\"absmiddle\">";
// 竖线图片
private final String iImage = "<img src=\"image/i.gif\" width=\"19\" height=\"20\" align=\"absmiddle\">";
// 小箭头图片
private final String arrow = "<img src=\"image/cal_nextMonth.gif\" width=\"5\" height=\"9\">";
/* ---------------四个按钮--------------------- */
// 添加按钮
private final String addBt = "<input onClick=\"javascript:window.location.href=\'addSection.jsp\'\" type=\"button\" value=\" 添加\" style=\"background-image:url(image/add.gif); background-repeat:no-repeat; width:50px; height:18px;\">";
// 编辑按钮
private final String sEditBt = " <input onClick=\"javascript:window.location.href=\'editSection.jsp?sid=";
private final String eEditBt = "\'\" type=\"button\" value=\" 编辑\" style=\"background-image:url(image/submit.gif); background-repeat:no-repeat; width:50px; height:18px;\">";
// 删除按钮
private final String sDelBt = " <input onClick=\"javascript:if(confirm(\'删除该版块所有主题\\n是否要删除?\')){window.location.href=\'../ServletManager?action=del&sid=";
private final String eDelBt = "\';}else{return false;}\" type=\"button\" value=\" 删除\" style=\"background-image:url(image/del.gif); background-repeat:no-repeat; width:50px; height:18px;\">";
// 移动按钮
private final String sMoveBt = " <input onClick=\"javascript:window.location.href=\'moveSection.jsp?sid=";
private final String eMoveBt = "\'\" type=\"button\" value=\" 移动\" style=\"background-image:url(image/del.gif); background-repeat:no-repeat; width:50px; height:18px;\">";
/**
* 根据id,获得它的父版块信息
*
* @param id
* 版块编号
* @return SectionInfo 返回一个对象
*/
public SectionInfo getPSectionById(Integer id) {
SectionInfo section = null;
String sql = "select * from sectionInfo where sId = ?";
try {
rs = dao.executeQuery(sql, new Object[] { id });
if (rs != null && rs.next()) {
section = new SectionInfo();
section.setSid(rs.getInt("sId"));
section.setSmasterid(rs.getInt("sMasterId"));
section.setSname(rs.getString("sName"));
section.setSparentid(rs.getInt("sParentId"));
section.setStopiccount(rs.getInt("sTopicCount"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dao.closeResultSet();
dao.closeStatement();
dao.closeConnection();
}
return section;
}
/**
* 根据版块id,获得所有子版块
*
* @param sId
* 版块编号
* @return List<SectionInfo> 返回一个集合
*/
public List<SectionInfo> getSectionById(Integer sId) {
List<SectionInfo> list = new ArrayList<SectionInfo>();
String sql = "select * from sectionInfo where sparentId = ?";
try {
rs = dao.executeQuery(sql, new Object[] { sId });
while (rs != null && rs.next()) {
SectionInfo section = new SectionInfo();
section.setSid(rs.getInt("sId"));
section.setSmasterid(rs.getInt("sMasterId"));
section.setSname(rs.getString("sName"));
section.setSparentid(rs.getInt("sParentId"));
section.setStopiccount(rs.getInt("sTopicCount"));
list.add(section);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dao.closeResultSet();
dao.closeStatement();
dao.closeConnection();
}
return list;
}
/**
* 判断对象是否在所有同级版块中的最后一个
*
* @param obj
* 要比较的SectionInfo对象
* @return Boolean 返回一个布尔型 true:是 false:否
*/
public Boolean isLastNode(SectionInfo obj) {
SectionInfo section = null;
String sql = "select top 1 * from sectionInfo where sparentId = ? order by sid desc";
try {
rs = dao.executeQuery(sql, new Object[] { obj.getSparentid() });
if (rs != null && rs.next()) {
section = new SectionInfo();
section.setSid(rs.getInt("sId"));
section.setSmasterid(rs.getInt("sMasterId"));
section.setSname(rs.getString("sName"));
section.setSparentid(rs.getInt("sParentId"));
section.setStopiccount(rs.getInt("sTopicCount"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dao.closeResultSet();
dao.closeStatement();
dao.closeConnection();
}
// 如果是最后一个节
if (obj.getSid() == section.getSid()) {
return true;
}
return false;
}
/**
* 根据id,递归获得根节点
*
* @param id
*/
private void traverseRootNodeById(Integer id) {//
// 带前导图片的
SectionInfo parent = this.getPSectionById(id);// 获得当前节点的父节点
if (parent != null && parent.getSparentid() == 0) {
this.sign.add(iImage);// 添加竖线
} else if (parent != null && parent.getSparentid() != 0) {// 如果是根节点,就跳出递归
Integer result = this.getParentCount(parent.getSparentid());// 获得同级父节点的个数
if (this.isLastNode(parent) || result == 1) {
this.sign.add(noexpandImage);// 添加空格
} else if (result > 1) {
this.sign.add(iImage);// 添加竖线
}
id = parent.getSparentid();
traverseRootNodeById(id);// 递归
}
return;
}
/**
* 根据id,递归获得空格符号
*
* @param id
* 版块编号
* @param blank
* HTML格式的空格符
* @return String 返回空格字符串
*/
public String traverseRootNodeById(Integer id, String blank) {//
// 带前导 的
String str = "";
SectionInfo parent = this.getPSectionById(id);// 获得当前节点的父节点
if (parent != null && parent.getSparentid() == 0) {
str += blank;// 添加竖线
} else if (parent != null && parent.getSparentid() != 0) {
str += blank;
id = parent.getSparentid();
return str + traverseRootNodeById(id, blank);// 递归
}
return str;
}
/**
* 根据id,获得同级节点的个数
*
* @param id
* 版块编号
* @return Integer 返回一个整型
*/
private Integer getParentCount(Integer id) {
String sql = "select count(*) as tt from sectionInfo where sparentId = ?";
Integer result = 0;
try {
rs = dao.executeQuery(sql, new Object[] { id });
if (rs != null && rs.next()) {
result = rs.getInt("tt");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dao.closeResultSet();
dao.closeStat
没有合适的资源?快使用搜索试试~ 我知道了~
计算机毕业设计-企业论坛系统-论文-源码.rar
共118个文件
gif:43个
java:21个
class:21个
需积分: 5 0 下载量 24 浏览量
2023-07-11
09:00:03
上传
评论
收藏 880KB RAR 举报
温馨提示
计算机毕业设计-企业论坛系统-论文-源码.rar
资源推荐
资源详情
资源评论
收起资源包目录
计算机毕业设计-企业论坛系统-论文-源码.rar (118个子文件)
ManagerDAO.class 14KB
TopicInfoDAO.class 8KB
ReplyInfoDAO.class 8KB
servletDetailPage.class 7KB
ServletManager.class 5KB
UserInfoDAO.class 4KB
SectionInfoDAO.class 4KB
BaseDAO.class 3KB
ServletReg.class 3KB
DetailPage.class 3KB
ServletLogin.class 3KB
CommonDAO.class 2KB
CheckDAO.class 2KB
servletListPage.class 2KB
TopicInfo.class 2KB
ReplyInfo.class 2KB
UserInfo.class 2KB
SectionInfo.class 1KB
IndexPage.class 1KB
ListPage.class 1KB
NavigationPage.class 982B
.classpath 432B
style.css 3KB
manager.css 2KB
Thumbs.db 59KB
Thumbs.db 24KB
Thumbs.db 23KB
tableftbg.gif 123KB
2.gif 4KB
5.gif 4KB
3.gif 4KB
1.gif 4KB
9.gif 4KB
12.gif 4KB
11.gif 3KB
4.gif 3KB
8.gif 3KB
10.gif 3KB
14.gif 3KB
6.gif 3KB
13.gif 3KB
15.gif 3KB
7.gif 3KB
reply.gif 2KB
post.gif 2KB
top_level_bg.gif 1KB
button.gif 1KB
zoomin.gif 976B
zoomout.gif 976B
tplus.gif 892B
lplus.gif 890B
tminus.gif 889B
rplus.gif 888B
lminus.gif 887B
i.gif 852B
noexpand.gif 837B
login-bottom.gif 755B
board.gif 712B
login-top.gif 708B
folders.gif 637B
submit.gif 612B
add.gif 606B
del.gif 599B
move.gif 597B
folder.gif 571B
hint.gif 533B
arrow_undo.gif 360B
topic.gif 311B
login-center.gif 90B
cal_nextMonth.gif 53B
err.htm 683B
welcome.htm 278B
mysql-connector-java-5.0.8-bin.jar 528KB
ManagerDAO.java 19KB
servletDetailPage.java 10KB
TopicInfoDAO.java 9KB
ReplyInfoDAO.java 8KB
ServletManager.java 6KB
SectionInfoDAO.java 4KB
UserInfoDAO.java 4KB
BaseDAO.java 3KB
ServletReg.java 3KB
CheckDAO.java 2KB
CommonDAO.java 2KB
DetailPage.java 2KB
ServletLogin.java 2KB
TopicInfo.java 2KB
servletListPage.java 2KB
ReplyInfo.java 1KB
UserInfo.java 1KB
SectionInfo.java 930B
IndexPage.java 674B
ListPage.java 652B
NavigationPage.java 500B
Menutab.jpg 20KB
topbar.jpg 1KB
detail.jsp 11KB
list.jsp 11KB
moveSection.jsp 5KB
addSection.jsp 5KB
共 118 条
- 1
- 2
资源评论
小徐博客
- 粉丝: 1397
- 资源: 827
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.rar
- 基于matlab实现视频监控中车型识别代码,自己写的,希望和大家多多交流.rar
- sdk.config
- 基于matlab实现配电网三相潮流计算方法,对几种常用的配电网潮流计算方法进行了对比分析.rar
- 基于matlab实现配电网潮流 经典33节点 前推回代法潮流计算 回代电流 前推电压 带注释.rar
- 基于matlab实现模拟退火遗传算法的车辆调度问题研究,用MATLAB语言加以实现.rar
- 基于matlab实现蒙特卡洛的的移动传感器节点定位算法仿真代码.rar
- 华中数控系统818用户说明书
- 基于matlab实现卡尔曼滤波器完成多传感器数据融合 对多个机器人的不同传感器数据进行融合估计足球精确位置.rar
- 基于matlab实现进行简单车辆识别-车辆检测.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功