Hibernate之单表类型数据处理泛型类

王朝学院·作者佚名  2016-05-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Hibernate之单表类型数据处理泛型类package chengfei.hibernate.Dao;

import java.util.List;import org.hibernate.HibernateException;import org.hibernate.session;import org.hibernate.Transaction;import chengfei.hibernate.tool.HibernateUtils;

/**hibernate数据库操作泛型类 * @author Administrator * @param <T> */public class service<T> {

PRivate Class<T> c;

public service(Class<T> c) {this.c = c;}

/**保存 * @param t */public void save(T t) { Session session = HibernateUtils.openSession();Transaction tx = null;try {tx = session.beginTransaction();session.save(t);tx.commit();

} catch (HibernateException e) {tx.rollback();throw e;} finally {session.close();}}

/**删除 * @param id */public void delete(Integer id) {Session session = HibernateUtils.openSession();Transaction tx = null;try {tx = session.beginTransaction();T t = this.getById(id);session.delete(t);tx.commit();} catch (HibernateException e) {tx.rollback();throw e;} finally {session.close();}

}

/**更新 * @param t */public void update(T t) {Session session = HibernateUtils.openSession();Transaction tx = null;try {tx = session.beginTransaction();session.update(t);tx.commit();} catch (HibernateException e) {tx.rollback();throw e;} finally {session.close();}

}

/**得到唯一对象 * @param id * @return */@SuppressWarnings("unchecked")public T getById(Integer id) { Session session = HibernateUtils.openSession();Transaction tx = null;try {tx = session.beginTransaction();T t = (T) session.get(c, id);tx.commit();return t;} catch (HibernateException e) {tx.rollback();throw e;} finally {session.close();}}

/**获得所有 * @return */@SuppressWarnings("unchecked")public List<T> FindAll() {Session session = HibernateUtils.openSession();Transaction tx = null;try {tx = session.beginTransaction();List<T> list = session.createQuery("from " + c.getSimpleName()).list();tx.commit();return list;} catch (HibernateException e) {tx.rollback();throw e;} finally {session.close();}}

/**获得分页的数据 * @param firstResult * @param maxresult * @return */@SuppressWarnings({ "unchecked", "rawtypes" })public QueryResult FindAll(int firstResult, int maxresult) {Session session = HibernateUtils.openSession();Transaction tx = null;try {tx = session.beginTransaction();List<T> list = session.createQuery(//"from " + c.getSimpleName())//.setFirstResult(firstResult)//.setMaxResults(maxresult).list();tx.commit();Long count = (Long) session.createQuery("select count(*) from " + c.getSimpleName())//.uniqueResult();return new QueryResult(list, count.intValue());} catch (HibernateException e) {tx.rollback();throw e;} finally {session.close();}

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航