package com.fgkj.dao.impl;
|
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.text.ParseException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import com.fgkj.dao.BaseDAO;
|
import com.fgkj.dao.CallBack;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.dao.LimitNumberFactory;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.db.IDatabaseName;
|
import com.fgkj.dto.Announce;
|
import com.fgkj.dto.Page;
|
|
public class AnnounceImpl implements BaseDAO,CallBack{
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
|
try {
|
while(rs.next()){
|
Announce announ=new Announce();
|
announ.setNum(rs.getInt("num"));
|
announ.setUsr_id(rs.getInt("usr_id"));
|
announ.setAnnounce_time(rs.getTimestamp("announce_time"));
|
announ.setMessage(rs.getString("message"));
|
announ.setNote(rs.getString("note"));
|
list.add(announ);
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return list;
|
}
|
|
|
//发布公告
|
public boolean add(Object obj) {
|
Announce announ=(Announce) obj;
|
String sql="insert into web_site.tb_announce(usr_id,announce_time,message,note) values(?,?,?,?) ";
|
Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{announ.getUsr_id()
|
,announ.getAnnounce_time(),announ.getMessage(),announ.getNote()});
|
return bl;
|
}
|
//更新修改公告
|
public boolean update(Object obj) {
|
Announce announ=(Announce) obj;
|
String sql="update web_site.tb_announce set usr_id=?,announce_time=?,message=?,note=? where num=? ";
|
Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{announ.getUsr_id()
|
,announ.getAnnounce_time(),announ.getMessage(),announ.getNote(),announ.getNum()});
|
return bl;
|
}
|
//删除公告
|
public boolean del(Object obj) {
|
Announce announ=(Announce) obj;
|
String sql="delete from web_site.tb_announce where num=?";
|
Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{announ.getNum()});
|
return bl;
|
}
|
|
//0.6公告信息显示(未分页)
|
public List searchAll() {
|
String sql="select num,usr_id,announce_time,message,note from web_site.tb_announce order by announce_time desc";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new AnnounceImpl());
|
return list;
|
}
|
|
//根据条件查询公告信息
|
public List serchByCondition(Object obj) {
|
Announce announ=(Announce) obj;
|
//System.out.println(announ);
|
String numberSql="SELECT FOUND_ROWS() number";//存放总数
|
Connection conn=DBUtil.getConn();//sql和numberSql共用一个connection
|
String sql="";
|
String baseSql="select SQL_CALC_FOUND_ROWS num,usr_id,announce_time,message,note " +
|
"FROM web_site.tb_announce where announce_time>=? and announce_time<=? "+
|
" and message like ? ";
|
//发布人选择
|
String usrSqlT=" and usr_id!=? ";//全部为0
|
String usrSqlF=" and usr_id=? ";//
|
if(announ.getUsr_id()==0){
|
baseSql+=usrSqlT;
|
}else{
|
baseSql+=usrSqlF;
|
}
|
String endSql=" order by announce_time desc limit ?,?";
|
sql=baseSql+endSql;
|
//System.out.println(sql);
|
List<Announce> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{announ.getAnnounce_time(),announ.getAnnounce_time1(),
|
"%"+announ.getMessage()+"%",announ.getUsr_id(),(announ.getPage().getPageCurr() - 1)* announ.getPage().getPageSize(),
|
announ.getPage().getPageSize()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Announce announ=new Announce();
|
announ.setNum(rs.getInt("num"));
|
announ.setUsr_id(rs.getInt("usr_id"));
|
announ.setAnnounce_time(rs.getTimestamp("announce_time"));
|
announ.setMessage(rs.getString("message"));
|
announ.setNote(rs.getString("note"));
|
Page page=new Page();
|
announ.setPage(page);
|
list.add(announ);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
//去掉limit条件后的总数
|
int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
|
//System.out.println("number: "+number);
|
if(list!=null&&list.size()>0){
|
list.get(list.size()-1).getPage().setPageAll(number);
|
}
|
return list;
|
}
|
|
|
//0.6公告信息显示(分页)
|
public List serchByInfo(Object obj) {
|
Page page=(Page) obj;
|
String numberSql="SELECT FOUND_ROWS() number";//存放总数
|
Connection conn=DBUtil.getConn();//sql和numberSql共用一个connection
|
String sql="select SQL_CALC_FOUND_ROWS num,usr_id,announce_time,message,note from web_site.tb_announce order by announce_time desc limit ?,?";
|
List<Announce> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{(page.getPageCurr() - 1)* page.getPageSize(),
|
page.getPageSize()}, new AnnounceImpl());
|
//去掉limit条件后的总数
|
int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
|
//System.out.println("number: "+number);
|
if(list!=null&&list.size()>0){
|
list.get(list.size()-1).getPage().setPageAll(number);
|
}
|
return list;
|
}
|
|
}
|