baseimpl.java

来自「一个OA系统」· Java 代码 · 共 93 行

JAVA
93
字号
package com.zhou.dao;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.zhou.services.HibernateSessionFactory;
public abstract class BaseImpl {

	protected Session session = HibernateSessionFactory.getSession();
	protected Transaction tran ;
	
	/**
	 * 添加数据方法
	 * @param o 需添加的实体
	 * @return  true 添加成功  false  添加失败
	 */
	protected  boolean  insert(Object o)  {
		tran = session.getTransaction();
		try {
			tran.begin();
			session.save(o);
			tran.commit();
			return true;
		} catch (HibernateException e) {
			// TODO 自动生成 catch 块
			tran.rollback();
			e.printStackTrace();
		}
		return false;
	}
	
	/**
	 * 修改数据方法
	 * @param o 需添加的实体
	 * @return  true 添加成功  false  添加失败
	 */
	protected  boolean  update(Object o) {
		tran = session.getTransaction();
		try {
			tran.begin();
			session.update(o);
			tran.commit();
			return true;
		} catch (HibernateException e) {
			// TODO 自动生成 catch 块
			tran.rollback();
			e.printStackTrace();
		}
		return false;
	}
	
	/**
	 * 删除数据方法
	 * @param o 需添加的实体
	 * @return  true 添加成功  false  添加失败
	 */
	protected  boolean  delete(Object o) {
		tran = session.getTransaction();
		try {
			tran.begin();
			session.delete(o);
			tran.commit();
			return true;
		} catch (HibernateException e) {
			// TODO 自动生成 catch 块
			tran.rollback();
			e.printStackTrace();
		}
		return false;
	}
	
	protected List getListByAttributer(String attributer,String attributerValue,String beanName) {
		String sql = "from "+beanName;
		if(attributer.length()!=0 && attributerValue.length()!=0) {
			sql = sql + " where "+attributer+"='"+attributerValue+"'";
		}
		return this.getList(sql);
	}
	
	protected Object getBeanById(String beanName,String idName,int id) {
		String sql = "from "+beanName+"  where "+idName+" = "+id;
		return this.getList(sql).get(0);
	}
	
	public List getList(String sql) {
		return session.createQuery(sql).list();
	}
	
}

⌨️ 快捷键说明

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