package com.lyq.dao; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import com.lyq.model.Message; import com.lyq.util.HibernateUtil; import com.lyq.util.PageModel; /** * 留言信息数据库操作类 * @author Li Yong Qiang */ public class MessageDao { /** * 保存或修改留言信息 * @param message Message对象 */ public void saveMessage(Message message){ Session session = null; //Session对象 try { //获取Session session = HibernateUtil.getSession(); session.beginTransaction(); //开启事物 session.saveOrUpdate(message); //持久化留言信息 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback();//回滚事物 }finally{ HibernateUtil.closeSession(); //关闭Session } } /** * 删除留言信息 * @param id 留言id */ public void deleteMessage(Integer id){ Session session = null; //Session对象 try { //获取Session session = HibernateUtil.getSession(); session.beginTransaction(); //开启事物 //加载指定id的留言信息 Message message = (Message)session.get(Message.class, id); session.delete(message); //删除留言 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback();//回滚事物 }finally{ HibernateUtil.closeSession(); //关闭Session } } /** * 查询所有留言信息 * @return List集合 */ public List<Message> findAllMessage(){ Session session = null; //Session对象 List<Message> list = null; //List集合 try { //获取Session session = HibernateUtil.getSession(); session.beginTransaction(); //开启事物 String hql = "from Message"; //HQL查询语句 list = session.createQuery(hql) //创建Query对象 .list(); //获取结果集 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback();//回滚事物 }finally{ HibernateUtil.closeSession(); //关闭Session } return list; } /** * 通过id加载留言信息 * @param id 留言id * @return Message对象 */ public Message getMessage(Integer id){ Session session = null; //Session对象 Message message = null; //Message对象 try { //获取Session session = HibernateUtil.getSession(); session.beginTransaction(); //开启事物 //加载Message message = (Message)session.get(Message.class, id); session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback();//回滚事物 }finally{ HibernateUtil.closeSession(); //关闭Session } return message; } /** * 分页查询留言信息 * @param currPage 当前页 * @param pageSize 每页记录数 * @return PageModel 自定义分页组件 */ public PageModel findPaging(int currPage, int pageSize){ Session session = null; //Session对象 PageModel pageModel = null; try { //获取Session session = HibernateUtil.getSession(); session.beginTransaction(); //开启事物 //HQL查询语句,按留言时间降序排序 String hql = "from Message m order by m.createTime desc"; List<Message> list = session.createQuery(hql) //创建Query对象 .setFirstResult((currPage - 1) * pageSize) //设置起始位置 .setMaxResults(pageSize) //设置记录数 .list(); //返回结果集 pageModel = new PageModel(); //实例化pageModel pageModel.setCurrPage(currPage); //设置当前页 pageModel.setList(list); //设置结果集 pageModel.setPageSize(pageSize); //设置每页记录数 //设置总记录数 pageModel.setTotalRecords(getTotalRecords(session)); session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback();//回滚事物 }finally{ HibernateUtil.closeSession(); //关闭Session } return pageModel; } /** * 查询留言的总记录数 * * @param session * Session对象 * @return 总记录数 */ public int getTotalRecords(Session session) { // HQL查询语句 String hql = "select count(*) from Message"; // 创建Query对象 Query query = session.createQuery(hql); // 单值检索 Long totalRecords = (Long) query.uniqueResult(); // 返回总记录数 return totalRecords.intValue(); } }
最近下载更多
你爹正在加载中 LV4
2023年7月19日
hhsssss LV3
2022年12月20日
www-chrome LV6
2022年4月26日
wanglinddad LV55
2022年2月19日
사랑해 사랑해 영원하도록 LV5
2021年12月28日
480446897a LV2
2021年12月4日
YR LV7
2021年6月27日
徐梓轩 LV8
2021年5月27日
liudcc LV5
2021年5月12日
lan12138 LV8
2021年5月7日
最近浏览更多
Liang朝伟 LV1
1月5日
wttttts LV2
1月1日
susitian LV2
2023年12月28日
komorebi123987 LV5
2023年12月13日
yiy12345 LV2
2023年10月11日
微信网友_6680567232876544 LV8
2023年10月10日
你爹正在加载中 LV4
2023年7月19日
18276177062 LV1
2023年6月11日
1WQAQW1 LV2
2023年6月8日
2889805 LV2
2023年6月7日