package net.lamp.blog.dao.impl; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import net.lamp.blog.base.BaseDao; import net.lamp.blog.common.PageRoll; import net.lamp.blog.dao.BlogDao; import net.lamp.blog.entity.Blog; import net.lamp.blog.util.DButil; public class BlogDaoImpl extends BaseDao<Blog> implements BlogDao{ /** * 通过blogid查看博客详细信息: * */ @Override public Blog findById(int blogid) throws SQLException { Connection conn = null; Blog blog = null; String sql = "select blogid,uid,headline,content,createdate,updatedate from blog where status = 'yes' and blogid = ?"; try { conn = DButil.getConnection(); blog = Query(conn, sql, blogid); } catch (Exception e) { e.printStackTrace(); } finally { DButil.releaseDBResource(null, null, conn); } return blog; } /** * 显示最新的10条博客信息: * */ @Override public List<Blog> list() throws SQLException { Connection conn = null; List<Blog> list = null; try { conn = DButil.getConnection(); String sql = "SELECT blogid,uid,headline,updatedate FROM blog WHERE STATUS = 'yes' ORDER BY updatedate DESC LIMIT 0,5"; list = queryForList(conn, sql); } catch (Exception e) { e.printStackTrace(); } finally{ DButil.releaseDBResource(null, null, conn); } return list; } /** * 按标题和更新时间搜索博客信息: * * 默认查询所有博客信息: * */ @Override public List<Blog> search(String headline,String updatedate,PageRoll pageRoll) throws SQLException { Connection conn = null; //记录搜索出来的总记录数: Integer i = 0; List<Blog> list = new ArrayList<Blog>(); try { conn = DButil.getConnection(); StringBuffer sb1 = new StringBuffer(); String sql1 = "SELECT COUNT(blogid) FROM blog WHERE STATUS = 'yes' AND 1 = 1"; sb1.append(sql1); if(!"".equals(headline)){ sb1.append(" and headline like '%"+headline+"%'"); } if(!"".equals(updatedate)){ sb1.append(" and updatedate >= '"+updatedate+"' "); } String sql = sb1.toString(); i= queryCount(conn, sql); //从新设置总记录数: pageRoll.setCountSize(i); StringBuffer sb2 = new StringBuffer(); String sql2 = "SELECT blogid,uid,headline,content,createdate,updatedate FROM blog WHERE STATUS = 'yes' AND 1 = 1"; sb2.append(sql2); if(!"".equals(headline)){ sb2.append(" and headline like '%"+headline+"%'"); } if(!"".equals(updatedate)){ sb2.append(" and updatedate >= ' "+updatedate+"'"); } sb2.append(" order by updatedate desc limit ?,?"); //添加完成在重新转换成字符串形式: String sq2 = sb2.toString(); list = queryForList(conn,sq2,(pageRoll.getCurrPage()-1)*pageRoll.getPageSize(),pageRoll.getPageSize()); } catch (Exception e) { e.printStackTrace(); } finally{ DButil.releaseDBResource(null, null, conn); } return list; } /** * 通过用户名登录后查看当前用户下的所有的博客信息: * */ @Override public List<Blog> findMyBlog(String username,PageRoll pageRoll) throws SQLException { Connection conn = null; List<Blog> list = new ArrayList<Blog>(); try { conn = DButil.getConnection(); StringBuffer sb = new StringBuffer(); //查询我的博客的总记录数: sb.append("select blogid,uid,headline,content,createdate,updatedate from blog where status = 'yes' and 1=1 "); if(!"".equals(username)){ String sqluid = "SELECT uid FROM userinfo WHERE username = ?"; Integer uid = queryCount(conn, sqluid, username); sb.append(" and uid = "+ uid); //从新设置总记录数: pageRoll.setCountSize(queryForList(conn, sb.toString()).size()); } //分页查询我的博客的记录: sb.append(" limit ?, ?"); //添加完成在重新转换成字符串形式: String sq1 = sb.toString(); list = queryForList(conn,sq1,(pageRoll.getCurrPage()-1)*pageRoll.getPageSize(),pageRoll.getPageSize()); } catch (Exception e) { e.printStackTrace(); }finally{ DButil.releaseDBResource(null, null, conn); } return list; } /** * 通过blogid删除当前用户下的博客信息: * */ @Override public void deleteMyBlogByBlogId(int blogid) throws SQLException { Connection conn = null; String sql = "update blog set status ='no' where blogid = ? "; try { conn = DButil.getConnection(); update(conn, sql, blogid); } catch (Exception e) { e.printStackTrace(); } finally{ DButil.releaseDBResource(null, null, conn); } } /** * 添加当前用户下的博客信息: * */ @Override public void addMyBlog(Blog blog) throws SQLException { Connection conn = null; String sql = "insert into blog (uid,headline,content,createdate,status) values(?,?,?,?,'yes')"; try { conn = DButil.getConnection(); update(conn, sql, blog.getUid(),blog.getHeadline(),blog.getContent(),new Date()); } catch (Exception e) { e.printStackTrace(); }finally{ DButil.releaseDBResource(null, null, conn); } } /** * 修改当前用户下的博客信息: * */ @Override public void updateMyBlog(Blog blog) throws SQLException { Connection conn = null; String sql = "update blog set headline=?,content=?,updatedate=? where blogid=?"; try { conn = DButil.getConnection(); update(conn, sql, blog.getHeadline(),blog.getContent(),blog.getUpdatedate(),blog.getBlogid()); } catch (Exception e) { e.printStackTrace(); } finally{ DButil.releaseDBResource(null, null, conn); } } }
最近下载更多
cheung524071 LV8
2023年8月23日
你们的代码都是我的了 LV16
2022年12月5日
SQ2930501923 LV14
2022年10月14日
你好呀123456 LV1
2022年10月13日
bafjkdnvgj LV1
2022年6月26日
微信网友_5944522042150912 LV1
2022年5月4日
dxp0216 LV1
2021年8月31日
蔡 LV10
2021年6月12日
万分史密斯 LV1
2021年6月12日
云生123456 LV6
2021年6月8日
最近浏览更多
Eddie233 LV6
8月28日
lilitu LV6
5月29日
pangzhihui LV14
2023年12月23日
cheung524071 LV8
2023年8月23日
wanglongfei2 LV2
2023年6月15日
mishidelu
2023年5月28日
暂无贡献等级
微信网友_6488247163490304 LV1
2023年5月23日
tang0209 LV1
2023年5月15日
information LV2
2023年4月27日
yubuzhuo LV2
2023年2月27日