Mybatis BaseService范类

1.接口类

@Service
public interface BaseService<T> {

Long generatePrimaryKey();

T selectOne(T record);

T selectByPrimaryKey(Object key);

    int insert(T record);
    
    int insertSelective(T record);
    
    int insertListSelective(List<T> recordList);
    
    int deleteByPrimaryKey(Object key);
    
    int deleteByExample(Object example);
    
    int delete(T record);


    int deleteByPrimaryKeys(String ids);
    
    int deleteByPrimaryKeys(String ids, String dataType);
    
    int updateByPrimaryKey(T record);


    int updateByPrimaryKeySelective(T record);
    
    int updateByExample(T record,Object example);
    
    int updateByExampleSelective(T record,Object example);


    List<T> selectByExample(Object example);
    
    List<T> selectByExampleAndRowBounds(Object example,RowBounds rowBounds);
    
    int selectCountByExample(Object example);
    
    List<T> select(T record);
    
    List<T> selectByRowBounds(T record,RowBounds rowBounds);
    
    int selectCount(T record);
    
    DataGridResult<T> selectPageByExample(Object example, int page, int rows);
    
    DataGridResult<T> selectPageByEntity(T record, int page, int rows);
    
    DataGridResult<T> selectPageByExample(Object example, String orderBy, int page, int rows);
    
    DataGridResult<T> selectPageByEntity(T record, String orderBy, int page, int rows);
    
    DataGridResult<Map<String,Object>> selectPageUseSqlToMap(Map<String,Object> filter, int page, int rows);

}


2.实现类

/**
 * 
* @ClassName: BaseServiceImpl
* @Description: base基础实现类
* @author zhanxz
* @date 2017年7月3日
*
* @param <T>
 */
public abstract class BaseServiceImpl<T> implements BaseService<T> {

@Autowired
    protected MyBatisMapper<T> mapper;

public Long generatePrimaryKey(){
return mapper.generatePrimaryKey();
};

    public Mapper<T> getMapper() {
        return mapper;
    }
  
    @Override
    public T selectByPrimaryKey(Object key) {
        return mapper.selectByPrimaryKey(key);
    }
    
    @Override
    public T selectOne(T record) {
        return mapper.selectOne(record);
    }
    
    @Override
    public int insert(T record) {
        return mapper.insert(record);
    }
    
    @Override
    public int insertSelective(T record) {
        return mapper.insertSelective(record);
    }
    @Override
    public int deleteByPrimaryKey(Object key) {
        return mapper.deleteByPrimaryKey(key);
    }
    
    @Override
    public int deleteByExample(Object example) {
        return mapper.deleteByExample(example);
    }
    
    @Override
    public int delete(T record) {
        return mapper.delete(record);
    }
    
    @Override
public int deleteByPrimaryKeys(String ids) {
try {
if (StringUtils.isBlank(ids)) {
return 0;
}
String[] idArray = ids.split("-");
int count = 0;
for (String idStr : idArray) {
if (StringUtils.isBlank(idStr)) {
continue;
}
int result = deleteByPrimaryKey(idStr);
count += Integer.parseInt(String.valueOf(result));
}
return count;
}catch (Exception e) {
e.printStackTrace();
}
return 0;
}
    
    @Override
public int deleteByPrimaryKeys(String ids, String dataType) {
try {
if (StringUtils.isBlank(ids)) {
return 0;
}
String[] idArray = ids.split("-");
int count = 0;
for (String idStr : idArray) {
if (StringUtils.isBlank(idStr)) {
continue;
}
Object idObj = null;
if(SystemConstant.DATA_TYPE_LONG.equals(dataType)) {
idObj = Long.parseLong(idStr);
} else if(SystemConstant.DATA_TYPE_INTEGER.equals(dataType)) {
idObj = Integer.parseInt(idStr);
} else if(SystemConstant.DATA_TYPE_STRING.equals(dataType)) {
idObj = idStr;
}
int result = deleteByPrimaryKey(idObj);
count += Integer.parseInt(String.valueOf(result));
}
return count;
}catch (Exception e) {
e.printStackTrace();
}
return 0;
}
    
    @Override
    public int updateByPrimaryKey(T record) {
        return mapper.updateByPrimaryKey(record);
    }
    
    @Override
    public int updateByPrimaryKeySelective(T record) {
        return mapper.updateByPrimaryKeySelective(record);
    }
    
    @Override
    public int updateByExample(T record,Object example) {
        return mapper.updateByExample(record, example);
    }
    
    @Override
    public int updateByExampleSelective(T record,Object example) {
        return mapper.updateByExampleSelective(record, example);
    }
    
    @Override
    public List<T> selectByExample(Object example) {
        return mapper.selectByExample(example);
    }
    
    @Override
    public List<T> selectByExampleAndRowBounds(Object example,RowBounds rowBounds){
    return mapper.selectByExampleAndRowBounds(example, rowBounds);
    }
    
    @Override
    public int selectCountByExample(Object example){
    return mapper.selectCountByExample(example);
    }
    
    @Override
    public List<T> select(T record){
    return mapper.select(record);
    }
    
    @Override
    public List<T> selectByRowBounds(T record,RowBounds rowBounds){
    return mapper.selectByRowBounds(record, rowBounds);
    }
    
    @Override
    public int selectCount(T record){
    return mapper.selectCount(record);
    }


@Override
public DataGridResult<T> selectPageByExample(Object example, int page, int rows) {
        //分页查询
        PageHelper.startPage(page, rows);
        List<T> data = selectByExample(example);
        DataGridResult<T> dataGridResult = new DataGridResult<T>();
        PageInfo<T> pageInfo = new PageInfo<T>(data);
        dataGridResult.setRows(pageInfo.getList());
        dataGridResult.setTotal(pageInfo.getTotal());
        dataGridResult.setPageNum(pageInfo.getPageNum());
        dataGridResult.setPageSize(pageInfo.getPageSize());
return dataGridResult;
}

@Override
public DataGridResult<T> selectPageByEntity(T record, int page, int rows) {
        //分页查询
        PageHelper.startPage(page, rows);
        List<T> data = select(record);
        DataGridResult<T> dataGridResult = new DataGridResult<T>();
        PageInfo<T> pageInfo = new PageInfo<T>(data);
        dataGridResult.setRows(pageInfo.getList());
        dataGridResult.setTotal(pageInfo.getTotal());
        dataGridResult.setPageNum(pageInfo.getPageNum());
        dataGridResult.setPageSize(pageInfo.getPageSize());
return dataGridResult;
}


@Override
public DataGridResult<T> selectPageByExample(Object example,
String orderBy, int page, int rows) {
//分页查询
        PageHelper.startPage(page, rows, orderBy);
        List<T> data = selectByExample(example);
        DataGridResult<T> dataGridResult = new DataGridResult<T>();
        PageInfo<T> pageInfo = new PageInfo<T>(data);
        dataGridResult.setRows(pageInfo.getList());
        dataGridResult.setTotal(pageInfo.getTotal());
        dataGridResult.setPageNum(pageInfo.getPageNum());
        dataGridResult.setPageSize(pageInfo.getPageSize());
return dataGridResult;
}


@Override
public DataGridResult<T> selectPageByEntity(T record, String orderBy,
int page, int rows) {
//分页查询
PageHelper.startPage(page, rows, orderBy);
        List<T> data = select(record);
        DataGridResult<T> dataGridResult = new DataGridResult<T>();
        PageInfo<T> pageInfo = new PageInfo<T>(data);
        dataGridResult.setRows(pageInfo.getList());
        dataGridResult.setTotal(pageInfo.getTotal());
        dataGridResult.setPageNum(pageInfo.getPageNum());
        dataGridResult.setPageSize(pageInfo.getPageSize());
return dataGridResult;
}


@Override
public int insertListSelective(List<T> recordList) {
return mapper.insertListSelective(recordList);
}


@Override
public DataGridResult<Map<String, Object>> selectPageUseSqlToMap(Map<String, Object> filter, int page, int rows) {
//分页查询
PageHelper.startPage(page, rows);
        List<Map<String, Object>> data = mapper.selectPageUseSqlToMap(filter);
        DataGridResult<Map<String, Object>> dataGridResult = new DataGridResult<Map<String, Object>>();
        PageInfo<Map<String, Object>> pageInfo = new PageInfo<Map<String, Object>>(data);
        dataGridResult.setRows(pageInfo.getList());
        dataGridResult.setTotal(pageInfo.getTotal());
        dataGridResult.setPageNum(pageInfo.getPageNum());
        dataGridResult.setPageSize(pageInfo.getPageSize());
return dataGridResult;
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值