⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basedaoimpl.java

📁 企业人力资源管理
💻 JAVA
字号:
package com.y2.hr.base.dao.impl;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

import com.y2.hr.base.dao.BaseDao;

public class BaseDaoImpl implements BaseDao {

	/*
	 * 会话工厂属性
	 */
	protected SessionFactory sessionFactory = null;

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}

	/**
	 * 数据库对象的添加
	 */
	public boolean add(Object obj) {
		boolean flag = false;
		Session session = sessionFactory.openSession();
		Transaction trans = null;
		try {
			trans = session.beginTransaction();
			session.save(obj);
			trans.commit();
			flag = true;
		} catch (Exception e) {
			if (null != trans) {
				trans.rollback();
			}
			e.printStackTrace();
		} finally {
			session.close();
		}
		return flag;
	}

	/**
	 * 数据库对象的删除
	 */
	public boolean del(Object obj) {
		boolean flag = false;
		Session session = sessionFactory.openSession();
		Transaction trans = null;
		try {
			trans = session.beginTransaction();
			session.delete(obj);
			trans.commit();
			flag = true;
		} catch (Exception e) {
			if (null != trans) {
				trans.rollback();
			}
			e.printStackTrace();
		} finally {
			session.close();
		}
		return flag;
	}

	/**
	 * 数据库对象的修改
	 */
	public boolean mod(Object obj) {
		boolean flag = false;
		Session session = sessionFactory.openSession();
		Transaction trans = null;
		try {
			trans = session.beginTransaction();
			session.update(obj);
			trans.commit();
			flag = true;
		} catch (Exception e) {
			if (null != trans) {
				trans.rollback();
			}
			e.printStackTrace();
		} finally {
			session.close();
		}
		return flag;
	}

	/**
	 * 根据 hql 语句获取数据库对象集合
	 */
	public List<?> get(String hql) {
		Session session = sessionFactory.openSession();
		Query query = session.createQuery(hql);
		List<?> list = query.list();
		session.close();
		return list;
	}

	/**
	 * 根据 hql 语句获取数据库对象记录数
	 */
	public int sum(String hql) {
		Session session = sessionFactory.openSession();
		Query query = session.createQuery(hql);
		int count = Integer.parseInt(query.uniqueResult().toString());
		session.close();
		return count;
	}

	/**
	 * 根据(查询对象) hql 语句及(当前页)curPage 获取数据库对象分页集合
	 */
	public List<?> getPage(String hql, int curPage) {
		Session session = sessionFactory.openSession();
		Query query = session.createQuery(hql);
		query.setFirstResult((curPage - 1) * 10);
		query.setMaxResults(10);
		List<?> list = query.list();
		session.close();
		return list;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -