📄 messagedao.java
字号:
package com.olr.dao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.olr.beans.Comment;
import com.olr.beans.Message;
import com.olr.util.Pager;
/**
* A data access object (DAO) providing persistence and search support for
* Message entities. Transaction control of the save(), update() and delete()
* operations can directly support Spring container-managed transactions or they
* can be augmented to handle user-managed Spring transactions. Each of these
* methods provides additional information for how to configure it for the
* desired type of transaction control.
*
* @see com.olr.beans.Message
* @author MyEclipse Persistence Tools
*/
public class MessageDAO extends HibernateDaoSupport implements IMessageDAO{
public void deleteMessage(int messageId) {
Object m=this.getHibernateTemplate().load(Message.class,new Integer(messageId));
this.getHibernateTemplate().delete(m);
}
public void insertMessage(Message message) {
this.getHibernateTemplate().save(message);
}
public Pager getMessagesPager(int userId,int pageSize,int pageNo){
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
Criteria criteria=session.createCriteria(Message.class);
criteria.add(Restrictions.eq("userId", userId));
int rowCount=((Integer)criteria.setProjection(
Projections.rowCount()).uniqueResult()).intValue();
criteria.setProjection(null);
int startIndex=pageSize*(pageNo-1);
criteria.addOrder(Order.desc("postdate"));
criteria.setFirstResult(startIndex);
criteria.setMaxResults(pageSize);
List result=criteria.list();
session.close();
return new Pager(pageSize,pageNo,rowCount,result);
}
public List<Message> getTopMessages(int userId,int topNum){
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
Criteria criteria=session.createCriteria(Message.class);
criteria.add(Restrictions.eq("userId", userId));
criteria.addOrder(Order.desc("postdate"));
criteria.setMaxResults(topNum);
List result=criteria.list();
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -