package dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import util.DButil;
import dao.MessageDao;
import entitybean.Broad;
import entitybean.Message;
import entitybean.User;
public class MessageDaoImpl implements MessageDao {
public int addMessage(Message msg) {
String sql="insert into Message (title,content,ts,broad_id,user_id,message_id) values (?,?,?,?,?,?)";
int count=0;
Connection con=DButil.getConnection();
PreparedStatement pst=null;
try {
pst=con.prepareStatement(sql);
pst.setString(1, msg.getTitle());
pst.setString(2, msg.getContent());
pst.setTimestamp(3, new Timestamp(msg.getTs().getTime()));
pst.setInt(4, msg.getBroad().getId());
pst.setInt(5, msg.getUser().getId());
pst.setInt(6, msg.getToMsg().getId());
count=pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
finally{
DButil.closeResource(con, pst, null);
}
return count;
}
public int deleteMessage(Message msg) {
String sql="delete from Message where id=?";
int count=0;
Connection con=DButil.getConnection();
PreparedStatement pst=null;
try {
pst=con.prepareStatement(sql);
pst.setInt(1,msg.getId());
count=pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
finally{
DButil.closeResource(con, pst, null);
}
return count;
}
public List<Message> findMessagesByBid(Integer bid) {
String sql="select id,title,ts from Message where broad_id=? and message_id=0";
List<Message> msgs=new ArrayList<Message>();
Connection con=DButil.getConnection();
PreparedStatement pst=null;
ResultSet rs=null;
try {
pst=con.prepareStatement(sql);
pst.setInt(1,bid);
rs=pst.executeQuery();
while(rs.next()){
Message msg = new Message();
msg.setId(rs.getInt("id"));
msg.setTitle(rs.getString("title"));
msg.setTs(rs.getTimestamp("ts"));
msgs.add(msg);
}
} catch (SQLException e) {
e.printStackTrace();
}
finally{
DButil.closeResource(con, pst, null);
}
return msgs;
}
public Message loadMessage(Integer id) {
String sql="select title,content,ts,message_id,user_id,broad_id from Message where id=?";
String sql3="select title,content from Message where message_id=?";
Message msg=null;
Connection con=DButil.getConnection();
PreparedStatement pst=null;
PreparedStatement pst2=null;
PreparedStatement pst3=null;
ResultSet rs=null;
ResultSet rs2=null;
ResultSet rs3=null;
try {
pst=con.prepareStatement(sql);
pst.setInt(1, id);
rs=pst.executeQuery();
if(rs.next()){
msg=new Message();
msg.setId(id);
msg.setTitle(rs.getString("title"));
msg.setContent(rs.getString("content"));
msg.setTs(rs.getTimestamp("ts"));
int bid=rs.getInt("broad_id");
Broad b = new Broad();
b.setId(bid);
msg.setBroad(b);
int uid=rs.getInt("user_id");
User u=loadUser(con, pst2, rs2, uid);
if(u!=null) msg.setUser(u);
int m=rs.getInt("message_id");
if(m==0){
pst3=con.prepareStatement(sql3);
pst3.setInt(1, id);
rs3=pst3.executeQuery();
while(rs3.next()){
Message msg1 = new Message();
msg1.setTitle(rs3.getString("title"));
msg1.setContent(rs3.getString("content"));
msg.getSubMsgs().add(msg1);
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
finally{
DButil.closeResource(con, pst, rs);
DButil.closeResource(null, pst2, rs2);
DButil.closeResource(null, pst2, rs3);
}
return msg;
}
//内部可重用类,贴子中需要大量显示用户名称的情况
private User loadUser(Connection con,PreparedStatement pst,ResultSet rs,int id) throws SQLException{
User u=null;
String sql2="select login_name,real_name from User where id=?";
pst=con.prepareStatement(sql2);
pst.setInt(1, id);
rs=pst.executeQuery();
if(rs.next()){
u = new User();
u.setId(id);
u.setLoginName(rs.getString("login_name"));
u.setRealName(rs.getString("real_name"));
}
return u;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
bbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLETbbs系统 JSP SERVLET
资源推荐
资源详情
资源评论
收起资源包目录
bbs系统 JSP SERVLET (151个子文件)
MessageDaoImpl.class 5KB
UserDaoImpl.class 4KB
User.class 3KB
MessageDaoImplTest.class 3KB
SendMsg.class 2KB
Message.class 2KB
DButil.class 2KB
CommonDaoImpl.class 2KB
FrontManImpl.class 2KB
UserDaoImplTest.class 2KB
Md5Encoder.class 2KB
Regist.class 2KB
RegistUserFilter.class 2KB
ShowMsgs.class 2KB
Login.class 2KB
ShowMsgDetail.class 2KB
Part.class 1KB
GoSendMsg.class 1KB
ShowAllParts.class 1KB
Broad.class 1KB
CharEncoding.class 1KB
Logout.class 1KB
PreListener.class 1KB
CommonDaoImplTest.class 1KB
BackManImpl.class 660B
FrontMan.class 601B
FrontManagerFactory.class 547B
BackManagerFactory.class 541B
MessageDao.class 392B
UserDao.class 364B
CommonDao.class 207B
BackMan.class 168B
.classpath 534B
org.eclipse.wst.jsdt.ui.superType.container 49B
main.css 1KB
Thumbs.db 24KB
Thumbs.db 7KB
user20.gif 18KB
user21.gif 18KB
user22.gif 18KB
user19.gif 17KB
user10.gif 10KB
user4.gif 9KB
user0.gif 5KB
user14.gif 5KB
user8.gif 4KB
user1.gif 4KB
user5.gif 4KB
user9.gif 3KB
user13.gif 3KB
user12.gif 3KB
user6.gif 3KB
user7.gif 3KB
user18.gif 3KB
user15.gif 3KB
user16.gif 3KB
user17.gif 2KB
user3.gif 2KB
user2.gif 2KB
user11.gif 2KB
face3.gif 1KB
face0.gif 1KB
face1.gif 1KB
face4.gif 1KB
face18.gif 1KB
face9.gif 1KB
face6.gif 1KB
face2.gif 1KB
face21.gif 1KB
face12.gif 1KB
face22.gif 1KB
face13.gif 1KB
face5.gif 1KB
face16.gif 1KB
face7.gif 1KB
face15.gif 1KB
face24.gif 1KB
face20.gif 1KB
face11.gif 1KB
face14.gif 1KB
face23.gif 1KB
face10.gif 1KB
face19.gif 1KB
face17.gif 1KB
face8.gif 1KB
mysql-connector-java-3.1.13-bin.jar 446KB
MessageDaoImpl.java 4KB
UserDaoImpl.java 3KB
User.java 2KB
DButil.java 2KB
Md5Encoder.java 1KB
SendMsg.java 1KB
CommonDaoImpl.java 1KB
Message.java 1KB
MessageDaoImplTest.java 1KB
Regist.java 1KB
FrontManImpl.java 1KB
ShowMsgs.java 1KB
RegistUserFilter.java 1KB
Login.java 974B
共 151 条
- 1
- 2
资源评论
- yeshenyuesly2013-01-05不行,都运行不了
- wsmjiushiaini2012-05-05程序没有错误,但打开的网页里面乱乱的,不知道里面都是些什么意思
- csdwab2012-09-05还行,做参考可以了,谢谢分享
liyannnn
- 粉丝: 1
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功