package com.cabletech.common.base; import java.io.Serializable; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.log4j.Logger; import org.springframework.transaction.annotation.Transactional; import com.cabletech.baseinfo.excel.ExportSupport; import com.cabletech.business.base.service.CommonOrderCodeService; /** * 基础服务实现 * * @author zhaobi * @author 杨隽 2012-05-15 提取导出公共方法 * * @param <T> * @param <PK> */ public abstract class BaseServiceImpl<T, PK extends Serializable> implements ExportSupport { public Logger logger = Logger.getLogger(getClass()); // 序号生成记录信息业务处理接口 @Resource(name = "commonOrderCodeServiceImpl") protected CommonOrderCodeService commonOrderCodeService; /** * dao类 * * @return */ protected abstract BaseDao<T, PK> getBaseDao(); /** * 通过主键获取实体 * * @param id * PK * @return T */ @Transactional public T get(final PK id) { T entity = getBaseDao().get(id); return entity; } /** * 保存实体 * * @param entity * T */ @Transactional public void save(final T entity) { getBaseDao().save(entity); } /** * 通过主键删除 * * @param id * PK */ @Transactional public void delete(final PK id) { getBaseDao().delete(id); } /** * * excel 获取导出数据 * * @param parameters * 条件 * @return List 导出数据列表 * **/ @SuppressWarnings({ "unchecked", "rawtypes" }) public List getExportDatas(Map<String, Object> parameters) { String sql = (String) parameters.get("sql"); return getBaseDao().getJdbcTemplate().queryForList(sql); } }