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; } }

krispeng LV14
2024年11月19日
微信网友_6914427966033920 LV4
2024年3月19日
pangxiangdong LV4
2023年5月31日
2931765614 LV2
2022年11月14日
wangmeijing LV5
2022年10月13日
xlg0717 LV5
2022年9月30日
地上有草 LV12
2022年5月11日
葡萄树下酒庄 LV9
2022年1月4日
778123511 LV2
2021年12月9日
1532871844 LV3
2021年12月3日

苯科仔
2024年12月16日
暂无贡献等级
plusangel
2024年8月29日
暂无贡献等级
柳咪华沙 LV7
2024年6月28日
微信网友_6914427966033920 LV4
2024年3月19日
iiiiiiixiiiiii LV1
2023年12月29日
asddwh LV13
2023年12月26日
hongdongdong LV14
2023年12月2日
阿桐吖 LV2
2023年11月18日
马宇轩 LV1
2023年11月14日
Weishenghui LV7
2023年10月20日