bizbase.java

来自「达内Java培训实训项目ECPORT原码。 包括逐步优化的四个版本: 简单工」· Java 代码 · 共 100 行

JAVA
100
字号
package com.royee.ecport.biz.impl;


import java.util.List;

import com.royee.ecport.biz.CommonBiz;
import com.royee.ecport.common.util.HibernateUtil;
import com.royee.ecport.dao.CommonDao;
import com.royee.ecport.pojo.EntityBase;
import com.royee.ecport.web.Pager;

public abstract class BizBase<E extends EntityBase> implements CommonBiz<E> {
	private CommonDao<E> dao;
	public BizBase(CommonDao<E> dao){
		this.dao=dao;
	}
	protected void begin(){
		HibernateUtil.getCurrentSession().beginTransaction();
	}
	
	protected void commit(){
		HibernateUtil.getCurrentSession().flush();
		HibernateUtil.getCurrentSession().getTransaction().commit();
		HibernateUtil.getCurrentSession().close();
	}
	
	protected void rollback(){
		HibernateUtil.getCurrentSession().getTransaction().rollback();
		HibernateUtil.getCurrentSession().close();
	}

	public int count() {
		
		// TODO Auto-generated method stub
		begin();
		return dao.count();
	}

	public void deleteById(Long id) {
		// TODO Auto-generated method stub
		begin();
		try{
			dao.deleteById(id);
			dao.flush();
			dao.clear();
			commit();
		}catch(Exception e){
			e.printStackTrace();
			rollback();
		}
	}

	public List<E> findAll() {
		// TODO Auto-generated method stub
		begin();
		return dao.loadAll(-1,-1);
	}

	public List<E> findAll(Pager p) {
		// TODO Auto-generated method stub		
		begin();
		return dao.loadAll(p.getCurStart(),p.getPageSize());
	}

	public List<E> findAll(int start, int length) {
		// TODO Auto-generated method stub
		begin();
		return dao.loadAll(start,length);
	}

	public E getById(Long id) {
		// TODO Auto-generated method stub
		begin();
		return dao.getById(id);
	
	}

	public void save(E c) {
		begin();
		try{
			dao.saveOrUpdate(c);
			commit();
		}catch(Exception e){
			e.printStackTrace();
			rollback();
		}
	}
	
	public void update(E c) {
		begin();
		try{
			dao.update(c);
			commit();
		}catch(Exception e){
			e.printStackTrace();
			rollback();
		}
	}
}

⌨️ 快捷键说明

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