package com.chrysler.dao.impl;
import java.util.ArrayList;
import java.util.List;
import com.chrysler.dao.ITopicDao;
import com.chrysler.entity.Channel;
import com.chrysler.entity.Topic;
/**
* 对主题表数据进行操作
* @author Administrator
*
*/
public class TopicDaoImpl extends DataBaseDao implements ITopicDao{
/**
* 根据频道ID 查询主题
* @param channel
* @return
*/
public List<Topic> findTopic(Channel channel,int page,int row){
List<Topic> list =new ArrayList<Topic>();
try {
int num=(page-1)*row;
String sql="select top "+row+" * from Topic where topId not in (select top "+num+" topId from Topic where " +
" chanId=? order by topLastTime desc) and chanId=? order by topLastTime desc";
ps=this.getCon().prepareStatement(sql);
ps.setString(1, Integer.toString(channel.getChanId()));
ps.setString(2, Integer.toString(channel.getChanId())); //传入频道ID
rs=ps.executeQuery();
while(rs.next()){
Topic topic = new Topic();
topic.setTopId(rs.getInt(1));
topic.setChanId(rs.getInt(2));
topic.setUserId(rs.getInt(3));
topic.setTopTitle(rs.getString(4));
topic.setTopContent(rs.getString(5));
topic.setTopReplyCount(rs.getInt(6));
topic.setTopClickCount(rs.getInt(7));
topic.setTopTime(rs.getString(8));
topic.setTopLastTime(rs.getString(9));
list.add(topic);
}
return list;
} catch (Exception e) {
e.printStackTrace();
return null;
}finally{
this.closeDB(con, ps, rs);
}
}
/**
* 根据频道ID 查询主题个数
* @param channel
* @return
*/
public int findTopicCount(Channel channel){
try {
String sql="select count(topId) from Topic where chanId=?";
ps=this.getCon().prepareStatement(sql);
ps.setString(1, channel.getChanId()+"");
rs=ps.executeQuery();
if(rs.next()){
return rs.getInt(1);
}else{
return 0;
}
} catch (Exception e) {
e.printStackTrace();
return 0;
}finally{
this.closeDB(con, ps, rs);
}
}
/**
* 根据主题ID 查询该主题信息
* @param topic
* @return
*/
public Topic findOneTopic(Topic topic){
try {
String sql="select * from Topic where topId=?";
ps=this.getCon().prepareStatement(sql);
ps.setString(1, Integer.toString(topic.getTopId())); //传入主题ID
rs=ps.executeQuery();
if(rs.next()){
topic.setTopId(rs.getInt(1));
topic.setChanId(rs.getInt(2));
topic.setUserId(rs.getInt(3));
topic.setTopTitle(rs.getString(4));
topic.setTopContent(rs.getString(5));
topic.setTopReplyCount(rs.getInt(6));
topic.setTopClickCount(rs.getInt(7));
topic.setTopTime(rs.getString(8));
topic.setTopLastTime(rs.getString(9));
topic.setTopImage(rs.getString(10));
return topic;
}else{
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}finally{
this.closeDB(con, ps, rs);
}
}
/**
* 增加主题浏览量
* @param topic
*/
public void addClickCount(Topic topic){
String sql="update Topic set topClickCount=topClickCount+1 where topId=?";
String []parm={Integer.toString(topic.getTopId())};
this.executeSQL(sql, parm);
}
/**
* 增加主题回复量
* @param topic
*/
public void addTopReplyCount(Topic topic){
String sql="update Topic set topReplyCount=topReplyCount+1 where topId=?";
String []parm={Integer.toString(topic.getTopId())};
this.executeSQL(sql, parm);
}
/**
* 增加主题
* @param topic
* @return
*/
public int insertTopic(Topic topic){
String sql="insert into Topic values(?,?,?,?,0,0,?,?,?)";
String []parm={Integer.toString(topic.getChanId()),topic.getUserId()+"",topic.getTopTitle(),topic.getTopContent(),topic.getTopTime(),topic.getTopTime(),topic.getTopImage()};
return this.executeSQL(sql, parm);
}
/**
* 更新主题最后回复时间
* @param topic
* @return
*/
public int updateTime(Topic topic){
String sql="update Topic set topLastTime=? where topId=?";
String []parm={topic.getTopLastTime(),Integer.toString(topic.getTopId())};
return this.executeSQL(sql, parm);
}
/**
* 根据主题ID 删除主题记录(跟帖记录一并删除)
* @param topic
* @return
*/
public int delTopic(Topic topic){
String []parm={Integer.toString(topic.getTopId())};
String sql="delete follow where topId=?";
this.executeSQL(sql, parm);
sql="delete Topic where topId=?";
return this.executeSQL(sql, parm);
}
/**
* 根据频道Id 删除所以主题
* @param channel
* @return
*/
public int delTopicAll(Channel channel){
String sql="delete Topic where chanId=?";
String []parm={Integer.toString(channel.getChanId())};
return this.executeSQL(sql, parm);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
jsp客户交流系统(BBS)源码 (107个子文件)
TopicDaoImpl.class 5KB
FollowDaoImpl.class 4KB
MyEclipseGen.class 4KB
UserInfoDaoImpl.class 3KB
ChannelDaoImpl.class 3KB
Topic.class 2KB
DataBaseDao.class 2KB
TopicBizImpl.class 2KB
Follow.class 1KB
FollowBizImpl.class 1KB
UserInfoBizImpl.class 1KB
UserInfo.class 1KB
Channel.class 998B
ChannelBizImpl.class 951B
Test.class 768B
ITopicBiz.class 632B
ITopicDao.class 632B
IFollowBiz.class 445B
IFollowDao.class 445B
IUserInfoBiz.class 424B
IUserInfoDao.class 424B
IChannelBiz.class 311B
IChannelDao.class 311B
.classpath 509B
org.eclipse.wst.jsdt.ui.superType.container 49B
Thumbs.db 36KB
robotsecurity.gif 11KB
ROBOTtrainer.gif 10KB
robotmale.gif 9KB
robotbutler.gif 6KB
SystemName.GIF 3KB
logo.gif 2KB
tab1.gif 1KB
tab3.gif 914B
tab2.gif 850B
tab4.gif 835B
line.GIF 819B
hot_red_folder.gif 626B
line_four.gif 69B
line_two.gif 69B
line_three.gif 69B
line_one.gif 69B
onepix_black.gif 49B
sqljdbc.jar 227KB
jspSmartUpload.jar 14KB
TopicDaoImpl.java 5KB
FollowDaoImpl.java 3KB
MyEclipseGen.java 3KB
UserInfoDaoImpl.java 3KB
Topic.java 2KB
TopicBizImpl.java 2KB
ChannelDaoImpl.java 1KB
DataBaseDao.java 1KB
ITopicBiz.java 1KB
ITopicDao.java 1KB
FollowBizImpl.java 1KB
UserInfoBizImpl.java 1KB
Follow.java 930B
ChannelBizImpl.java 773B
IFollowDao.java 754B
IFollowBiz.java 754B
UserInfo.java 752B
Channel.java 666B
IChannelBiz.java 432B
IChannelDao.java 432B
IUserInfoDao.java 431B
IUserInfoBiz.java 431B
Test.java 346B
.jsdtscope 406B
topic.jsp 5KB
follow.jsp 5KB
manager.jsp 4KB
manager2.jsp 3KB
dotopic.jsp 3KB
login.jsp 2KB
index.jsp 2KB
reg.jsp 2KB
yzm_number.jsp 2KB
doinsertfol.jsp 2KB
managelogin.jsp 2KB
dopageone.jsp 1KB
dodelchan.jsp 1KB
dofolpageone.jsp 1KB
doupdateuser.jsp 1KB
dologin.jsp 1KB
domanlogin.jsp 887B
doinsertchan.jsp 880B
dodeltopic.jsp 864B
updatechannel.jsp 848B
error.jsp 839B
confollow.jsp 815B
dodeluser.jsp 789B
doreg.jsp 769B
dodelfol.jsp 735B
dogotopic.jsp 495B
doindex.jsp 422B
dogologin.jsp 271B
doexit.jsp 173B
dogoupdatechan.jsp 79B
MANIFEST.MF 39B
共 107 条
- 1
- 2
资源评论
bingc420
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于QT+C++的智能云监护仪项目,能够实时显示使用者心电、血氧、血压波形及其它各种参数+源码(毕业设计&课程设计&项目开发)
- 基于java开发的app接收硬件端传输的心音信号,具有显示心音波形,发出心音的功能+源码(毕业设计&课程设计&项目开发)
- Python 程序语言设计模式思路-行为型模式:职责链模式:将请求从一个处理者传递到下一个处理者
- 9241703124789646.16健身系统2.apk
- postgresql-16.3-1-windows-x64.exe
- Python 程序语言设计模式思路-结构型模式:装饰器讲解及利用Python装饰器模式实现高效日志记录和性能测试
- 基于YOLOv5和DeepSORT的多目标跟踪仿真与记录
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功