`
everlxq
  • 浏览: 103409 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

BaseService BaseServiceImpl

阅读更多
package com.web.base;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import org.apache.poi.ss.usermodel.Cell;
import org.hibernate.Session;

/**
 * Generic Manager that talks to GenericDao to CRUD POJOs.
 *
 * <p>Extend this interface if you want typesafe (no casting necessary) managers
 * for your domain objects.
 *
 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
 * @param <T> a type variable
 * @param <PK> the primary key for that type
 */
public interface BaseService<T, PK extends Serializable> {

    /**
     * Generic method used to get all objects of a particular type. This
     * is the same as lookup up all rows in a table.
     * @return List of populated objects
     */
    List<T> getAll();

    /**
     * Generic method to get an object based on class and identifier. An
     * ObjectRetrievalFailureException Runtime Exception is thrown if
     * nothing is found.
     *
     * @param id the identifier (primary key) of the object to get
     * @return a populated object
     * @see org.springframework.orm.ObjectRetrievalFailureException
     */
    T get(PK id);

    /**
     * Checks for existence of an object of type T using the id arg.
     * @param id the identifier (primary key) of the object to get
     * @return - true if it exists, false if it doesn't
     */
    boolean exists(PK id);

    /**
     * Generic method to save an object - handles both update and insert.
     * @param object the object to save
     * @return the updated object
     */
    T save(T object);

    /**
     * Generic method to delete an object based on class and id
     * @param id the identifier (primary key) of the object to remove
     */
    void remove(PK id);
    
    public void removes(PK[] ids);
    
    void remove1(PK id);
    
    public void removes1(PK[] ids);
    public List<T> getByHql(String hql,Object[] objs);
    
    public List getAllByHql(String hql,Object[] objs);
	
	public void updateQuery(final String hql,final Map map);

	public List<T> getPageData(String hql, Map map, int pageIndex, int pageSize);
	
	public List<T> getPageData(String hql, Map map);

	public int getPageSize(String hql, Map map);
	
	public BigDecimal getTotalCount(String hql, Map map);
	
	public String getCellValue(Cell cell);

	public void removes2(PK[] ids, Map session);
}




package com.web.base;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.ss.usermodel.Cell;

public class BaseServiceImpl<T, PK extends Serializable> implements BaseService<T, PK> {
    /**
     * Log variable for all child classes. Uses LogFactory.getLog(getClass()) from Commons Logging
     */
    protected final Log log = LogFactory.getLog(getClass());

    /**
     * GenericDao instance, set by constructor of this class
     */
    protected BaseDao<T, PK> baseDao;

    /**
     * Public constructor for creating a new GenericManagerImpl.
     * @param genericDao the GenericDao to use for persistence
     */
    public BaseServiceImpl(final BaseDao<T, PK> baseDao) {
        this.baseDao = baseDao;
    }

    /**
     * {@inheritDoc}
     */
    public List<T> getAll() {
        return baseDao.getAll();
    }

    /**
     * {@inheritDoc}
     */
    public T get(PK id) {
        return baseDao.get(id);
    }

    /**
     * {@inheritDoc}
     */
    public boolean exists(PK id) {
        return baseDao.exists(id);
    }

    /**
     * {@inheritDoc}
     */
    public T save(T object) {
        return baseDao.save(object);
    }

    /**
     * {@inheritDoc}
     */
    public void remove(PK id) {
    	baseDao.remove1(id);
    }
    
    public void removes(PK[] ids){
    	baseDao.removes1(ids);
    }
    
    public void remove1(PK id) {
    	baseDao.remove(id);
    }
    
    public void removes1(PK[] ids){
    	baseDao.removes(ids);
    }
	
	public List<T> getPageData(String hql, Map map, int pageIndex, int pageSize) {
		return baseDao.getPageData(hql, map, pageIndex, pageSize);
	}
	
	public List<T> getPageData(String hql, Map map) {
		return baseDao.getPageData(hql, map);
	}

	public int getPageSize(String hql, Map map) {
		return baseDao.getPageSize(hql,map);
	}
	
	public BigDecimal getTotalCount(String hql, Map map){
		return baseDao.getTotalCount(hql,map);
	}

	public List<T> getByHql(String hql, Object[] objs) {
		return baseDao.getByHql(hql, objs);
	}

	public void updateQuery(String hql, Map map) {
		baseDao.updateQuery(hql, map);		
	}

	public List getAllByHql(String hql, Object[] objs) {
		return baseDao.getAllByHql(hql, objs);
	}
	
	public String getCellValue(Cell cell){
		if(cell!=null){
			if(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC)
				return String.valueOf(cell.getNumericCellValue());
			else return cell.getRichStringCellValue().toString().trim();
		}else return null;		
	}

	public void removes2(PK[] ids,Map session) {
		baseDao.removes2(ids,session);
	}


}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics