JavaWeb项目开发案例精粹-第4章博客网站系统-003Dao层
1.
package com.sanqing.dao; import java.util.List; import com.sanqing.fenye.Page;
import com.sanqing.po.Article; public interface ArticleDAO {
//定义一个add方法,用来保存博客文章
public void add(Article article); //定义一个queryUserAll,用来取出用户的所有文章
public List<Article> queryUserAll(String username); //获得用户文章总记录数
public int queryUserAllCount(String username); //按分页信息查询用户的记录
public List<Article> queryByPage(String username,Page page); //获得所有文章的总记录数
public int queryAllCount(); //按分页信息查询记录
public List<Article> queryAllByPage(Page page); //按ID查询文章
public Article queryById(int id);
}
2.
package com.sanqing.dao; import java.sql.SQLException;
import java.util.List; import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.sanqing.fenye.Page;
import com.sanqing.po.Article; public class ArticleDAOImpl extends HibernateDaoSupport implements ArticleDAO { //实现add方法
public void add(Article article) {
this.getHibernateTemplate().saveOrUpdate(article);
} public List<Article> queryUserAll(String username) {
List find = this.getHibernateTemplate().find("select art from Article art where art.username = ?", username);
List<Article> list = find;
return list;
} public int queryUserAllCount(String username) {
List find = this.getHibernateTemplate().find("select count(*) from Article art where art.username = ?",username);
return ((Long)find.get(0)).intValue();
} public List<Article> queryByPage(final String username, final Page page) {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("select art from Article art where art.username = ?");
//设置参数
query.setParameter(0, username);
//设置每页显示多少个,设置多大结果。
query.setMaxResults(page.getEveryPage());
//设置起点
query.setFirstResult(page.getBeginIndex());
return query.list();
} });
} public List<Article> queryAllByPage(final Page page) {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("select art from Article art order by art.date desc");
//设置每页显示多少个,设置多大结果。
query.setMaxResults(page.getEveryPage());
//设置起点
query.setFirstResult(page.getBeginIndex());
return query.list();
} });
} public int queryAllCount() {
List find = this.getHibernateTemplate().find("select count(*) from Article art");
return ((Long)find.get(0)).intValue();
} public Article queryById(int id) {
List find = this.getHibernateTemplate().find("select art from Article art where art.id = ?", id);
return (Article) find.get(0);
} }
3.
 package com.sanqing.dao;
 import com.sanqing.po.BlogInfo;
 public interface BlogInfoDAO {
     //设置个性化内容
     public void save(BlogInfo info);
     //获得
     public BlogInfo get(String username);
 }
4.
 package com.sanqing.dao;
 import java.util.List;
 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
 import com.sanqing.po.BlogInfo;
 public class BlogInfoDAOImpl extends HibernateDaoSupport implements BlogInfoDAO{
     public BlogInfo get(String username) {
         List list = this.getHibernateTemplate().find("select bloginfo from BlogInfo bloginfo where bloginfo.username=?", username);
         if(list.size() == 0) {
             return null;
         } else {
             return (BlogInfo) list.get(0);
         }
     }
     public void save(BlogInfo info) {
         this.getHibernateTemplate().saveOrUpdate(info);
     }
 }
5.
package com.sanqing.dao; import java.util.List; import com.sanqing.fenye.Page;
import com.sanqing.po.Critique; public interface CritiqueDAO {
//添加评论
public void addCritique(Critique critique); //获得指定文章的评论数
public int queryCritiqueCount(int AId); //根据Page来查询指定文章的评论
public List<Critique> queryByPage(int AId,Page page);
}
6.
package com.sanqing.dao; import java.sql.SQLException;
import java.util.List; import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.sanqing.fenye.Page;
import com.sanqing.po.Critique; public class CritiqueDAOImpl extends HibernateDaoSupport implements CritiqueDAO { public void addCritique(Critique critique) {
this.getHibernateTemplate().save(critique);
} public List<Critique> queryByPage(final int AId, final Page page) {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("select cri from Critique cri where cri.AId = ?");
query.setParameter(0, AId);
//设置每页显示多少个,设置多大结果。
query.setMaxResults(page.getEveryPage());
//设置起点
query.setFirstResult(page.getBeginIndex());
return query.list();
} });
} public int queryCritiqueCount(int AId) {
List find = this.getHibernateTemplate().find("select count(*) from Critique cri where cri.AId = ?",AId);
return ((Long)find.get(0)).intValue();
} }
7.
package com.sanqing.dao; import java.util.Date;
import java.util.List; import com.sanqing.po.Dianjiliang; public interface DianjiliangDAO { //返回该文章,该IP,该时间的访问记录
public List queryByAId(int AId,String IP,Date time); //添加访问记录
public void addJilu(Dianjiliang dianjiliang);
}
8.
package com.sanqing.dao; import java.sql.SQLException;
import java.util.Date;
import java.util.List; import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.sanqing.po.Dianjiliang; public class DianjiliangDAOImpl extends HibernateDaoSupport implements
DianjiliangDAO { public void addJilu(Dianjiliang dianjiliang) {
this.getHibernateTemplate().save(dianjiliang);
} public List queryByAId(final int AId, final String IP, final Date time) {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("select djl from Dianjiliang djl where djl.AId = ? and djl.ip = ? and djl.time = ?");
//设置参数
query.setParameter(0, AId);
query.setParameter(1, IP);
query.setParameter(2, time);
return query.list();
} });
} }
9.
 package com.sanqing.dao;
 import java.util.List;
 import com.sanqing.po.User;
 public interface UserDAO {
     //添加用户
     public void add(User user);
     //删除用户
     public void delete(User user);
     //更新用户
     public void update(User user);
     //查询所有用户
     public List queryAll();
     //按id查询用户
     public User queryByID(String username);
 }
10.
 package com.sanqing.dao;
 import java.util.List;
 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
 import com.sanqing.po.User;
 public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {
     public void add(User user) {
         this.getHibernateTemplate().save(user);
     }
     public void delete(User user) {
     }
     public List queryAll() {
         return null;
     }
     public User queryByID(String username) {
         List list = this.getHibernateTemplate().find("select user from User user where user.username = '" + username + "'");
         if(list.size() == 0) {
             return null;
         } else {
             return (User)list.get(0);
         }
     }
     public void update(User user) {
     }
 }
JavaWeb项目开发案例精粹-第4章博客网站系统-003Dao层的更多相关文章
- JavaWeb项目开发案例精粹-第4章博客网站系统-006View层
		
1.showAllArticle.jsp <%@ page language="java" contentType="text/html; charset=gb23 ...
 - JavaWeb项目开发案例精粹-第4章博客网站系统-005action层
		
1. package com.sanqing.action; import java.util.Date; import java.util.Map; import com.opensymphony. ...
 - JavaWeb项目开发案例精粹-第4章博客网站系统-004Service层
		
1. package com.sanqing.service; import java.util.List; import com.sanqing.fenye.Page; import com.san ...
 - JavaWeb项目开发案例精粹-第4章博客网站系统-002辅助类及配置文件
		
1. <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5&qu ...
 - JavaWeb项目开发案例精粹-第4章博客网站系统-001设计
		
1. 2. 3. # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET SQL_MO ...
 - JavaWeb项目开发案例精粹-第6章报价管理系统-05Action层
		
0. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &quo ...
 - JavaWeb项目开发案例精粹-第6章报价管理系统-002辅助类及配置文件
		
1. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www ...
 - JavaWeb项目开发案例精粹-第3章在线考试系统-007View层
		
0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...
 - JavaWeb项目开发案例精粹-第2章投票系统-001设计
		
1.项目结构 2.数据库设计 # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET ...
 
随机推荐
- UIScrowView swift
			
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
 - java 参数化类型
			
package com.gxf.collection; import java.util.LinkedList; public class TestForT<T> { private Li ...
 - Session invalidate
			
会清空所有已定义的session 而不是清空全部session的值也就是说 定义了一个名为 user 的session 调用invalidate()方法后使用Session.getValue(“use ...
 - 小组开发项目针对性的NABC分析
			
单独就我们团队开发项目——重力解锁的功能特点而言,我们解决了智能手机屏幕解锁的乏味和繁琐的特点,显得更有趣味性和独特性,更符合现代人追随时尚的潮流:我们根据个人的不同喜好和便利性来设定一些动作,利用重 ...
 - 如何维护SSH安全
			
遇到两次,一次是公司服务器搭建好后,有人尝试ssh暴力破解,auth.log不停出现错误提示 还有买的米国vps,很荣幸地遭到来自波兰的ssh破解尝试 不得不重视ssh的安全 方法: 修改sshd_c ...
 - Introduction to Financial Management
			
Recently,i am learning some useful things about financial management by reading <Essentials of Co ...
 - 文件读写器FileRW 1.0发布
			
这个软件未发布前,当年被计算机杂志报道过. FileRW 文件读写器 1.0功能介绍:1.可以以各种方式读普通文件和I/O文件.2.可以以各种方式写文件.3.可以配置文件的分享读写方式.4.可以指定文 ...
 - IIS OCIEnvCreate failed with return code -1
			
现象:windows server2008服务器,MVC使用NHiberate连接Oracle11g,程序部署到IIS后无法访问数据库,抛上述异常:在服务器上安装VS调试可以访问数据库 解决方法:连接 ...
 - 【BZOJ】【2938】【POI2000】病毒
			
AC自动机 好题>_<(其实是一次AC有些感动) 嗯要找到无限长的一个字符串不包含任何一个模板串,就意味着在AC自动机(Trie图)上找到一个不经过任何一个危险结点的环,深搜一下就好了…… ...
 - [Shoi2007]Bookcase 书柜的尺寸  dp
			
这道dp算是同类型dp中比较难的了,主要难点在于设置状态上: 如果像平时那样设置,必定爆空间没商量: 下面是一种思路: 先把输入进来的数据按h从大到小排序,这样就可以大大减少状态数, 然后设f[i][ ...