package imp.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import temp.bean.TempMessage;
import db.tools.SqlManager;
import domain.Message;
import domain.User;
import base.dao.BaseAbstractInterfaceDaoAdapter;
public class MessageDao extends BaseAbstractInterfaceDaoAdapter {
/*
*按照用户的id查找发给此用户所有消息并封装为Object数组返回
*参数 receiverid 接收消息的用户id
* */
public List<Object[]> getAllMessageByReceiverId(Integer receiverId){
List<Object[]> messages = new ArrayList<Object[]>(0);
String sql="select m.id,title,content,sendid,u.name,sendtime,status " +
"from user u join message m on u.id=sendid where receiverid="+receiverId+"";
PreparedStatement ps = SqlManager.openStatement(sql);
ResultSet result = SqlManager.select(ps);
try{
while(result.next()){
Object objs[] = new Object[7];
objs[0]=result.getInt(1);
objs[1]=result.getString(2);
objs[2]=result.getString(3);
objs[3]=result.getInt(4);
objs[4]=result.getString(5);
objs[5]=result.getDate(6);
objs[6]=result.getInt(7);
messages.add(objs);
}
}catch(Exception ex){ex.printStackTrace();}
finally{
SqlManager.closeStatement(result);
}
return messages;
}
/*
* 按照id查找Message的详细内容,封装为临时对象返回
* 参数 id Message 对象id
* */
@Override
public Object find(Integer id) {
System.out.println("----------"+id);
//查询消息语句
String sql="select u.name ,title,content,sendtime,sendid " +
"from user u join message m on u.id=m.sendid where m.id="+id+"";
//更新为已读状态
String sql2="update message set status=1 where id="+id+"";
TempMessage tempMessage=new TempMessage();
PreparedStatement ps = SqlManager.openStatement(sql);
ResultSet result = SqlManager.select(ps);
try{
if(result.next()){
tempMessage.setName(result.getString(1));
tempMessage.setTitle(result.getString(2));
tempMessage.setContent(result.getString(3));
tempMessage.setSendTime(result.getDate(4));
tempMessage.setSendId(result.getInt(5));
}
// 标记此消息为已读
PreparedStatement ps2 = SqlManager.openStatement(sql2);
SqlManager.update(ps2);
}catch(Exception ex){ex.printStackTrace();}
finally{
SqlManager.closeStatement(result);
}
return tempMessage;
}
/*保存回复消息的方法*/
public int save(Integer uid,Object e) {
int info =0;
Message temp =(Message)e;
String sql = "insert into message values(null,'"+temp.getTitle()+"'," +
"'"+temp.getContent()+"',"+uid+","+temp.getReceiverId()+"," +
"sysdate(),0)";
info = SqlManager.update(SqlManager.openStatement(sql));
return info;
}
/*保存群发消息的方法*/
public int store(Message m,Object e) {
int info = 0;
String usersid[] = (String[])e;// 转换为字符串数组
Integer intUsersid[]=new Integer[usersid.length];
for(int i=0;i<usersid.length;i++){// 循环处理群发
System.out.println("循环执行"+(i+1));
intUsersid[i]=new Integer(usersid[i]);
String sql="insert into message values(null,'"+m.getTitle()+"'," +
"'"+m.getContent()+"',"+m.getSendId()+"," +
""+intUsersid[i]+",sysdate(),0)";
info+=SqlManager.update(SqlManager.openStatement(sql));
}
return info;
}
/*执行设为已读或删除的方法
* 参数 flag 执行标记,"read" =设为已读
* "delete" = 删除;
* ints 消息id数组
* */
public int doMessages(String flag, Integer[] ints) {
// TODO Auto-generated method stub
int info=0;
//循环执行sql操作
for(int i=0;i<ints.length;i++){
if(flag.equals("read")){
info+=SqlManager.update(SqlManager.
openStatement("update message set status=1 where id="+ints[i]+""));
}else if(flag.equals("delete")){
info+=SqlManager.update(SqlManager.
openStatement("delete from message where id="+ints[i]+""));
}
}
return info; // 返回影响数据库的行数
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
oa.rar_java小系统
共92个文件
jpg:33个
class:19个
java:19个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 161 浏览量
2022-09-21
19:39:02
上传
评论
收藏 1.52MB RAR 举报
温馨提示
办公系统,只是自己的一个小练习,用java写的
资源推荐
资源详情
资源评论
收起资源包目录
oa.rar (92个子文件)
oa
oa.sql 5KB
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 500B
.project 1KB
WebRoot
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 2KB
classes
Test.class 640B
base
dao
BaseAbstractInterfaceDaoAdapter.class 1KB
BaseAbstractInterfaceDao.class 620B
db
config
ConnectionManager.class 2KB
Env.class 1KB
tools
SqlManager.class 2KB
domain
User.class 1KB
Message.class 2KB
dbconfig.properties 151B
temp
bean
TempMessage.class 2KB
imp
dao
MessageDao.class 5KB
UserDao.class 2KB
web
intercept
EncodeIntercept.class 938B
RepeatLoginIntercept.class 953B
controller
LoginServlet.class 2KB
UserServlet.class 1KB
DeleteOrSetReadMessageServlet.class 2KB
LoadMessageServlet.class 3KB
SendMessageServlet.class 3KB
LookupMessageServlet.class 2KB
lib
main.jsp 6KB
imgs
key.jpg 953B
xinzhi2.jpg 140KB
heima.jpg 8KB
danlv.jpg 27KB
left.jpg 230KB
diqiu.jpg 4KB
open.jpg 1KB
bg3.jpg 87KB
user.jpg 926B
diqiu2.jpg 10KB
1.bmp 2KB
logout.jpg 4KB
user2.jpg 36KB
huisebg.jpg 5KB
return.jpg 24KB
bg4.jpg 63KB
anniu2.jpg 71KB
heimalogo2.jpg 44KB
bgblue.jpg 70KB
close.jpg 1KB
shuaxin.jpg 9KB
anniu3.jpg 33KB
heimalogo.jpg 55KB
logo.jpg 132KB
xinzhi.jpg 106KB
heima1.png 42KB
Thumbs.db 84KB
xinzhi3.png 75KB
danya.jpg 35KB
hmlogo.jpg 9KB
return2.jpg 1KB
xinzhi5.png 375KB
anniu1.jpg 23KB
xinzhi4.png 119KB
login2.jpg 41KB
bg2.jpg 90KB
top.jpg 136KB
bg1.jpg 40KB
login.jpg 42KB
login.jsp 3KB
logo.jsp 3KB
message
message.jsp 17KB
classes
base
dao
BaseAbstractInterfaceDao.java 349B
BaseAbstractInterfaceDaoAdapter.java 871B
db
config
Env.java 965B
ConnectionManager.java 1KB
tools
SqlManager.java 2KB
domain
User.java 837B
Message.java 2KB
dbconfig.properties 151B
temp
bean
TempMessage.java 1KB
imp
dao
UserDao.java 1KB
MessageDao.java 4KB
web
intercept
EncodeIntercept.java 687B
RepeatLoginIntercept.java 692B
controller
UserServlet.java 700B
SendMessageServlet.java 2KB
LookupMessageServlet.java 1KB
LoadMessageServlet.java 2KB
LoginServlet.java 2KB
DeleteOrSetReadMessageServlet.java 2KB
Test.java 229B
.mymetadata 279B
.classpath 446B
.myeclipse
共 92 条
- 1
资源评论
alvarocfc
- 粉丝: 109
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功