首页>代码>java基于MVC的简单博客系统>/Blog/src/net/lamp/blog/dao/impl/BlogDaoImpl.java
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日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友