首页 > 代码库 > 编写hibernateDao,使dao层都实现hibernateDao
编写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; }}
编写hibernateDao,使dao层都实现hibernateDao
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。