package com.lyq.dao; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import com.lyq.util.HibernateFilter; /** * 基本数据库操作类,放置操作数据库的常用方法 * 主要用于继承 * @author Li Yong Qiang */ public class SupperDao { //Session对象 protected Session session = null; /** * 保存信息 * @param obj 对象 */ public void save(Object obj){ try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 session.save(obj); //保存对象 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } } /** * 保存/更新信息 * @param obj 对象 */ public void saveOrUpdate(Object obj){ try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 session.saveOrUpdate(obj); //保存或修改对象 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } } /** * 删除信息 * @param obj 对象 */ public void delete(Object obj){ try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 session.delete(obj); //删除对象 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } } /** * 按hql查询所有信息 * @param hql hql语句 */ public List findByHQL(String hql){ List list = null; try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 list = session.createQuery(hql) //创建Query对象 .list(); //返回结果集 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } return list; } /** * 按hql删除信息 * @param hql hql语句 */ public void deleteByHQL(String hql){ try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 session.createQuery(hql) //创建Query对象 .executeUpdate(); //更新 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } } /** * 单值检索 * @param hql hql语句 * @param where 查询条件数组 * @return Object */ public Object uniqueResult(String hql,Object[] where){ Object obj = null; try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 Query query = session.createQuery(hql); //创建Query对象 //如果where不为空,则对HQL语句进行动态赋值 if(where != null && where.length > 0){ for (int i = 0; i < where.length; i++) { if(where[i] != null){ query = query.setParameter(i, where[i]); } } } obj = query.uniqueResult(); //单值检索 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } return obj; } /** * 分页查询 * @param hql hql语句 * @param offset 起始位置 * @param length 偏移量 * @param where 查询条件,Object数组类型 * @return List集合 */ public List findPaging(String hql,int offset,int length,Object[] where){ List list = null; try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 Query query = session.createQuery(hql); //创建Query对象 //构建查询条件 if(where != null && where.length > 0){ for (int i = 0; i < where.length; i++) { if(where[i] != null){ query = query.setParameter(i, where[i]); } } } list = query.setFirstResult(offset) //设置起始位置 .setMaxResults(length) //偏移量 .list(); //获取结果集 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } return list; } }
最近下载更多
2860615178 LV4
5月29日
g11865095 LV1
5月14日
javaee165 LV2
2023年2月15日
upup996 LV6
2022年12月15日
微信网友_6261654233190400 LV2
2022年12月14日
Hsy605 LV9
2022年6月22日
北方菜 LV11
2022年5月11日
湫枫1234 LV4
2022年4月3日
wanglinddad LV55
2022年2月23日
破衣飘飘 LV2
2022年2月9日