1.
1 package com.sanqing.dao; 2 3 import java.util.List; 4 5 import com.sanqing.fenye.Page; 6 import com.sanqing.po.Article; 7 8 public interface ArticleDAO { 9 //定义一个add方法,用来保存博客文章 10 public void add(Article article); 11 12 //定义一个queryUserAll,用来取出用户的所有文章 13 public List<Article> queryUserAll(String username); 14 15 //获得用户文章总记录数 16 public int queryUserAllCount(String username); 17 18 //按分页信息查询用户的记录 19 public List<Article> queryByPage(String username,Page page); 20 21 //获得所有文章的总记录数 22 public int queryAllCount(); 23 24 //按分页信息查询记录 25 public List<Article> queryAllByPage(Page page); 26 27 //按ID查询文章 28 public Article queryById(int id); 29 }
2.
1 package com.sanqing.dao; 2 3 import java.sql.SQLException; 4 import java.util.List; 5 6 import org.hibernate.HibernateException; 7 import org.hibernate.Query; 8 import org.hibernate.Session; 9 import org.springframework.orm.hibernate3.HibernateCallback; 10 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 11 12 import com.sanqing.fenye.Page; 13 import com.sanqing.po.Article; 14 15 public class ArticleDAOImpl extends HibernateDaoSupport implements ArticleDAO { 16 17 //实现add方法 18 public void add(Article article) { 19 this.getHibernateTemplate().saveOrUpdate(article); 20 } 21 22 public List<Article> queryUserAll(String username) { 23 List find = this.getHibernateTemplate().find("select art from Article art where art.username = ?", username); 24 List<Article> list = find; 25 return list; 26 } 27 28 public int queryUserAllCount(String username) { 29 List find = this.getHibernateTemplate().find("select count(*) from Article art where art.username = ?",username); 30 return ((Long)find.get(0)).intValue(); 31 } 32 33 public List<Article> queryByPage(final String username, final Page page) { 34 return this.getHibernateTemplate().executeFind(new HibernateCallback() { 35 public Object doInHibernate(Session session) 36 throws HibernateException, SQLException { 37 Query query = session.createQuery("select art from Article art where art.username = ?"); 38 //设置参数 39 query.setParameter(0, username); 40 //设置每页显示多少个,设置多大结果。 41 query.setMaxResults(page.getEveryPage()); 42 //设置起点 43 query.setFirstResult(page.getBeginIndex()); 44 return query.list(); 45 } 46 47 }); 48 } 49 50 public List<Article> queryAllByPage(final Page page) { 51 return this.getHibernateTemplate().executeFind(new HibernateCallback() { 52 public Object doInHibernate(Session session) 53 throws HibernateException, SQLException { 54 Query query = session.createQuery("select art from Article art order by art.date desc"); 55 //设置每页显示多少个,设置多大结果。 56 query.setMaxResults(page.getEveryPage()); 57 //设置起点 58 query.setFirstResult(page.getBeginIndex()); 59 return query.list(); 60 } 61 62 }); 63 } 64 65 public int queryAllCount() { 66 List find = this.getHibernateTemplate().find("select count(*) from Article art"); 67 return ((Long)find.get(0)).intValue(); 68 } 69 70 public Article queryById(int id) { 71 List find = this.getHibernateTemplate().find("select art from Article art where art.id = ?", id); 72 return (Article) find.get(0); 73 } 74 75 }
3.
1 package com.sanqing.dao; 2 3 import com.sanqing.po.BlogInfo; 4 5 public interface BlogInfoDAO { 6 //设置个性化内容 7 public void save(BlogInfo info); 8 //获得 9 public BlogInfo get(String username); 10 }
4.
1 package com.sanqing.dao; 2 3 import java.util.List; 4 5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 6 7 import com.sanqing.po.BlogInfo; 8 9 public class BlogInfoDAOImpl extends HibernateDaoSupport implements BlogInfoDAO{ 10 11 public BlogInfo get(String username) { 12 List list = this.getHibernateTemplate().find("select bloginfo from BlogInfo bloginfo where bloginfo.username=?", username); 13 if(list.size() == 0) { 14 return null; 15 } else { 16 return (BlogInfo) list.get(0); 17 } 18 } 19 20 public void save(BlogInfo info) { 21 this.getHibernateTemplate().saveOrUpdate(info); 22 } 23 24 }
5.
1 package com.sanqing.dao; 2 3 import java.util.List; 4 5 import com.sanqing.fenye.Page; 6 import com.sanqing.po.Critique; 7 8 public interface CritiqueDAO { 9 //添加评论 10 public void addCritique(Critique critique); 11 12 //获得指定文章的评论数 13 public int queryCritiqueCount(int AId); 14 15 //根据Page来查询指定文章的评论 16 public List<Critique> queryByPage(int AId,Page page); 17 }
6.
1 package com.sanqing.dao; 2 3 import java.sql.SQLException; 4 import java.util.List; 5 6 import org.hibernate.HibernateException; 7 import org.hibernate.Query; 8 import org.hibernate.Session; 9 import org.springframework.orm.hibernate3.HibernateCallback; 10 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 11 12 import com.sanqing.fenye.Page; 13 import com.sanqing.po.Critique; 14 15 public class CritiqueDAOImpl extends HibernateDaoSupport implements CritiqueDAO { 16 17 public void addCritique(Critique critique) { 18 this.getHibernateTemplate().save(critique); 19 } 20 21 public List<Critique> queryByPage(final int AId, final Page page) { 22 return this.getHibernateTemplate().executeFind(new HibernateCallback() { 23 public Object doInHibernate(Session session) 24 throws HibernateException, SQLException { 25 Query query = session.createQuery("select cri from Critique cri where cri.AId = ?"); 26 query.setParameter(0, AId); 27 //设置每页显示多少个,设置多大结果。 28 query.setMaxResults(page.getEveryPage()); 29 //设置起点 30 query.setFirstResult(page.getBeginIndex()); 31 return query.list(); 32 } 33 34 }); 35 } 36 37 public int queryCritiqueCount(int AId) { 38 List find = this.getHibernateTemplate().find("select count(*) from Critique cri where cri.AId = ?",AId); 39 return ((Long)find.get(0)).intValue(); 40 } 41 42 }
7.
1 package com.sanqing.dao; 2 3 import java.util.Date; 4 import java.util.List; 5 6 import com.sanqing.po.Dianjiliang; 7 8 public interface DianjiliangDAO { 9 10 //返回该文章,该IP,该时间的访问记录 11 public List queryByAId(int AId,String IP,Date time); 12 13 //添加访问记录 14 public void addJilu(Dianjiliang dianjiliang); 15 }
8.
1 package com.sanqing.dao; 2 3 import java.sql.SQLException; 4 import java.util.Date; 5 import java.util.List; 6 7 import org.hibernate.HibernateException; 8 import org.hibernate.Query; 9 import org.hibernate.Session; 10 import org.springframework.orm.hibernate3.HibernateCallback; 11 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 12 13 import com.sanqing.po.Dianjiliang; 14 15 public class DianjiliangDAOImpl extends HibernateDaoSupport implements 16 DianjiliangDAO { 17 18 public void addJilu(Dianjiliang dianjiliang) { 19 this.getHibernateTemplate().save(dianjiliang); 20 } 21 22 public List queryByAId(final int AId, final String IP, final Date time) { 23 return this.getHibernateTemplate().executeFind(new HibernateCallback() { 24 public Object doInHibernate(Session session) 25 throws HibernateException, SQLException { 26 Query query = session.createQuery("select djl from Dianjiliang djl where djl.AId = ? and djl.ip = ? and djl.time = ?"); 27 //设置参数 28 query.setParameter(0, AId); 29 query.setParameter(1, IP); 30 query.setParameter(2, time); 31 return query.list(); 32 } 33 34 }); 35 } 36 37 }
9.
1 package com.sanqing.dao; 2 3 import java.util.List; 4 5 import com.sanqing.po.User; 6 7 public interface UserDAO { 8 //添加用户 9 public void add(User user); 10 11 //删除用户 12 public void delete(User user); 13 14 //更新用户 15 public void update(User user); 16 17 //查询所有用户 18 public List queryAll(); 19 20 //按id查询用户 21 public User queryByID(String username); 22 }
10.
1 package com.sanqing.dao; 2 3 import java.util.List; 4 5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 6 7 import com.sanqing.po.User; 8 9 public class UserDAOImpl extends HibernateDaoSupport implements UserDAO { 10 11 public void add(User user) { 12 this.getHibernateTemplate().save(user); 13 } 14 15 public void delete(User user) { 16 17 } 18 19 public List queryAll() { 20 return null; 21 } 22 23 public User queryByID(String username) { 24 List list = this.getHibernateTemplate().find("select user from User user where user.username = '" + username + "'"); 25 26 if(list.size() == 0) { 27 return null; 28 } else { 29 return (User)list.get(0); 30 } 31 } 32 33 public void update(User user) { 34 35 } 36 37 }