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
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日
最近浏览更多
张泽帅 LV6
10月18日
微信网友_7041475584184320
6月17日
暂无贡献等级
Liang朝伟 LV1
1月6日
asddwh LV13
2023年12月29日
abandan LV4
2023年11月6日
微信网友_6602457430806528 LV6
2023年10月17日
qazws123 LV1
2023年6月8日
846488283 LV4
2023年5月29日
1807315587
2023年5月27日
暂无贡献等级
微信网友_6437456389640192 LV3
2023年4月21日