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
2024年8月28日
lilitu LV6
2024年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日

