package com.wishwzp.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.wishwzp.model.Diary;
import com.wishwzp.model.PageBean;
import com.wishwzp.util.DateUtil;
import com.wishwzp.util.StringUtil;
public class DiaryDao {
/**
* 日记列表
* @param con
* @param pageBean
* @return
* @throws Exception
*/
public List<Diary> diaryList(Connection con,PageBean pageBean,Diary s_diary)throws Exception{
List<Diary> diaryList=new ArrayList<Diary>();
StringBuffer sb=new StringBuffer("select * from t_diary t1,t_diaryType t2 where t1.typeId=t2.diaryTypeId ");
if(s_diary.getTypeId()!=-1){
sb.append(" and t1.typeId="+s_diary.getTypeId());
}
if(StringUtil.isNotEmpty(s_diary.getReleaseDateStr())){
sb.append(" and DATE_FORMAT(t1.releaseDate,'%Y年%m月')='"+s_diary.getReleaseDateStr()+"'");
}
if(StringUtil.isNotEmpty(s_diary.getTitle())){
sb.append(" and t1.title like '%"+s_diary.getTitle()+"%'");
}
sb.append(" order by t1.releaseDate desc");
if(pageBean!=null){
sb.append(" limit "+pageBean.getStart()+","+pageBean.getPageSize());
}
PreparedStatement pstmt=con.prepareStatement(sb.toString());
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
Diary diary=new Diary();
diary.setDiaryId(rs.getInt("diaryId"));
diary.setTitle(rs.getString("title"));
diary.setContent(rs.getString("content"));
diary.setReleaseDate(DateUtil.formatString(rs.getString("releaseDate"), "yyyy-MM-dd HH:mm:ss"));
diaryList.add(diary);
}
return diaryList;
}
/**
* 统计对应类别的日记个数
* @param con
* @return
* @throws Exception
*/
public int diaryCount(Connection con,Diary s_diary)throws Exception{
StringBuffer sb=new StringBuffer("select count(*) as total from t_diary t1,t_diaryType t2 where t1.typeId=t2.diaryTypeId ");
if(StringUtil.isNotEmpty(s_diary.getTitle())){
sb.append(" and t1.title like '%"+s_diary.getTitle()+"%'");
}
if(s_diary.getTypeId()!=-1){
sb.append(" and t1.typeId="+s_diary.getTypeId());
}
if(StringUtil.isNotEmpty(s_diary.getReleaseDateStr())){
sb.append(" and DATE_FORMAT(t1.releaseDate,'%Y年%m月')='"+s_diary.getReleaseDateStr()+"'");
}
PreparedStatement pstmt=con.prepareStatement(sb.toString());
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
return rs.getInt("total");
}else{
return 0;
}
}
/**
* 查询日记日期列表显示
* @param con
* @return
* @throws Exception
*/
public List<Diary> diaryCountList(Connection con)throws Exception{
List<Diary> diaryCountList=new ArrayList<Diary>();
String sql="SELECT DATE_FORMAT(releaseDate,'%Y年%m月') as releaseDateStr ,COUNT(*) AS diaryCount FROM t_diary GROUP BY DATE_FORMAT(releaseDate,'%Y年%m月') ORDER BY DATE_FORMAT(releaseDate,'%Y年%m月') DESC;";
PreparedStatement pstmt=con.prepareStatement(sql);
//Statement stmt = con.createStatement();
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
Diary diary=new Diary();
diary.setReleaseDateStr(rs.getString("releaseDateStr"));
diary.setDiaryCount(rs.getInt("diaryCount"));
diaryCountList.add(diary);
}
return diaryCountList;
}
/**
* 日记内容显示
* @param con
* @param diaryId
* @return
* @throws Exception
*/
public Diary diaryShow(Connection con,String diaryId)throws Exception{
String sql="select * from t_diary t1,t_diaryType t2 where t1.typeId=t2.diaryTypeId and t1.diaryId=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, diaryId);
ResultSet rs=pstmt.executeQuery();
Diary diary=new Diary();
if(rs.next()){
diary.setDiaryId(rs.getInt("diaryId"));
diary.setTitle(rs.getString("title"));
diary.setContent(rs.getString("content"));
diary.setTypeId(rs.getInt("typeId"));
diary.setTypeName(rs.getString("typeName"));
diary.setReleaseDate(DateUtil.formatString(rs.getString("releaseDate"),"yyyy-MM-dd HH:mm:ss"));
}
return diary;
}
/**
* 添加日记
* @param con
* @param diary
* @return
* @throws Exception
*/
public int diaryAdd(Connection con,Diary diary)throws Exception{
String sql="insert into t_diary values(null,?,?,?,now())";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, diary.getTitle());
pstmt.setString(2, diary.getContent());
pstmt.setInt(3, diary.getTypeId());
return pstmt.executeUpdate();
}
/**
* 删除日记
* @param con
* @param diaryId
* @return
* @throws Exception
*/
public int diaryDelete(Connection con,String diaryId)throws Exception{
String sql="delete from t_diary where diaryId=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, diaryId);
return pstmt.executeUpdate();
}
/**
* 修改日记
* @param con
* @param diary
* @return
* @throws Exception
*/
public int diaryUpdate(Connection con,Diary diary)throws Exception{
String sql="update t_diary set title=?,content=?,typeId=? where diaryId=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, diary.getTitle());
pstmt.setString(2, diary.getContent());
pstmt.setInt(3, diary.getTypeId());
pstmt.setInt(4, diary.getDiaryId());
return pstmt.executeUpdate();
}
/**
* 判断该日记类别下是否有日记
* @param con
* @param typeId
* @return
* @throws Exception
*/
public boolean existDiaryWithTypeId(Connection con,String typeId)throws Exception{
String sql="select * from t_diary where typeId=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, typeId);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
return true;
}else{
return false;
}
}
}
最近下载更多
hanweinan6 LV13
2024年10月9日
waitingforyou LV20
2022年10月20日
是你爸爸啊100 LV5
2022年8月5日
xuweisong2010 LV28
2022年6月7日
ming_123_9715 LV23
2021年12月26日
yellowfor LV8
2021年12月24日
dcdc12 LV6
2021年12月21日
昊 LV6
2021年11月8日
xbjzc123 LV5
2021年10月14日
内拉组里 LV2
2021年10月13日
最近浏览更多
潜心小白来到 LV3
6月10日
ma406805131 LV19
2024年12月19日
214329
2024年11月29日
暂无贡献等级
张泽帅 LV6
2024年10月18日
微信网友_7041475584184320
2024年6月17日
暂无贡献等级
Liang朝伟 LV1
2024年1月6日
asddwh LV13
2023年12月29日
abandan LV4
2023年11月6日
微信网友_6602457430806528 LV6
2023年10月17日
qazws123 LV1
2023年6月8日

