hibernate的增删改查通用型接口

package com.util;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

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

public class BaseDao<T, PK extends Serializable> {

	private static Transaction transaction;

	public void save(T obj) {
		Session session = HibernateUtil.getSession();
		transaction = session.beginTransaction();
		session.save(obj);
		transaction.commit();
		HibernateUtil.closeSession();
	}

	public void deleteByT(T obj) {

		Session session = HibernateUtil.getSession();
		transaction = session.beginTransaction();
		session.delete(obj);
		transaction.commit();
		HibernateUtil.closeSession();
	}

	public void deleteById(T obj, String id) {
		Session session = HibernateUtil.getSession();
		transaction = session.beginTransaction();
		session.delete(id, obj);
		transaction.commit();
		HibernateUtil.closeSession();
	}

	public List queryAll(T obj) {
		Session session = HibernateUtil.getSession();
		String objName = obj.getClass().getName();
		Query query = session.createQuery("from " + objName);
		List<T> result = query.list();
		System.out.println(result);
		HibernateUtil.closeSession();
		return result;
	}

	public void update(T obj) {
		Session session = HibernateUtil.getSession();
		transaction = session.beginTransaction();
		session.save(obj);
		transaction.commit();
		HibernateUtil.closeSession();
	}

	public Object queryTById(T obj, PK id) {
		Session session = HibernateUtil.getSession();
		transaction = session.beginTransaction();
		Object result = session.get(obj.getClass(), id);
		System.out.println(result);
		transaction.commit();
		HibernateUtil.closeSession();
		return result;
	}

	public List query(String hql) {
		Session session = HibernateUtil.getSession();
		Query query = session.createQuery(hql);
		List<T> list = query.list();
		System.out.println(list);
		HibernateUtil.closeSession();
		return list;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值