编写hibernateDao,使dao层都实现hibernateDao
package com.wiseweb.core.dao; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; @SuppressWarnings("unchecked") public abstract class HibernateDAO <T, P extends Serializable> { @Autowired private SessionFactory sessionFactory; /** * 获取sessionFactory工厂 * @return */ protected SessionFactory getSessionFactory(){ return this.sessionFactory; } /** * 获取数据库session会话 * @return */ protected Session getSession(){ return this.sessionFactory != null ? this.sessionFactory.getCurrentSession() : null; } /** * 保存数据库 * @param object * @throws Exception */ public void save(T object) throws Exception{ if (getSession() != null) { getSession().save(object); } } /** * 删除数据库 * @param object * @throws Exception */ public void delete(T object) throws Exception{ if (getSession() != null) { getSession().delete(object); } } /** * 更新数据库 * @param object * @throws Exception */ public void update(T object) throws Exception{ if (getSession() != null) { getSession().update(object); } } /** * 根据id查询 * @param tClass * @param id * @return * @throws Exception */ public T get(Class<T> tClass, P id) throws Exception{ if (getSession() != null) { return (T) getSession().get(tClass, id); } return null; } /** * 根据sql语句做相应的查询 * @param hql * @return * @throws Exception */ public List<T> createQueryByHql(String hql) throws Exception{ List<T> list = new ArrayList<T>(); if (hql != null || !hql.equals("")) { if (getSession() != null) { list = getSession().createQuery(hql).list(); } } return list; } /** * 分页查询 * @param hql * @param pageNum * @param pageSize * @return * @throws Exception */ public List<T> createQueryByHql(String hql, int pageNum, int pageSize) throws Exception{ List<T> list = new ArrayList<T>(); if (hql != null || !hql.equals("")) { if (getSession() != null) { Query query = getSession().createQuery(hql); query.setFirstResult((pageNum - 1) * pageSize); query.setMaxResults(pageSize); list = query.list(); } } return list; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。