bizbase.java

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

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


import java.util.List;

import org.hibernate.SessionFactory;

import com.royee.ecport.biz.CommonBiz;
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 SessionFactory sessionFactory;
	
	
	protected CommonDao<E> dao;

	public void setDao(CommonDao<E> dao) {
		this.dao = dao;
	}

	protected void begin(){
		sessionFactory.getCurrentSession().beginTransaction();
	}
	
	protected void commit(){
		sessionFactory.getCurrentSession().flush();
		sessionFactory.getCurrentSession().getTransaction().commit();
		sessionFactory.getCurrentSession().close();
	}
	
	protected void rollback(){
		sessionFactory.getCurrentSession().getTransaction().rollback();
		sessionFactory.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();
		}
	}
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}
}

⌨️ 快捷键说明

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