提示:使用default 可以在接口进行默认实现,实现高复用效果
上为上文,使用方法的形式实现
目录
一、default介绍
java8针对接口所提出的新特性,可以让接口有默认实现方法,继承此接口的方法都会拥有此方法
二、项目使用推荐
1.service提供基础crud,不携带业务
实现类不需再重写基础crud,别人也可以直接调用,实现类只重写业务方法,实现减轻实现类效果
public interface ICheckService {
CheckMapper mapper = SpringUtils.getBean(CheckMapper.class);
/**
* 基础新增
*
* @return 是否成功
*/
@Transactional(rollbackFor = Exception.class)
default int baseInsert(Check check) {
return mapper.insert(check);
}
/**
* 基础批量新增
*
* @return 是否成功
*/
@Transactional(rollbackFor = Exception.class)
default int baseBatchInsert(List<Check> checks) {
return mapper.batchInsert(checks);
}
@Transactional(rollbackFor = Exception.class)
default int baseBatchInsertSpecial(List<Check> checks) {
return baseBatchInsert(checks);
}
/**
* 删除
*
* @return 是否成功
*/
@Transactional(rollbackFor = Exception.class)
default int deleteById(String checkId) {
return mapper.deleteById(checkId);
}
/**
* 删除_批量
*
* @return 成功数量
*/
@Transactional(rollbackFor = Exception.class)
default int deleteByIds(String[] checkIds) {
return mapper.deleteByIds(checkIds);
}
/**
* 基础修改
*
* @return 是否成功
*/
@Transactional(rollbackFor = Exception.class)
default int baseUpdate(Check check) {
return mapper.update(check);
}
/**
* 基础批量修改
*
* @return 是否成功
*/
@Transactional(rollbackFor = Exception.class)
default int baseBatchUpdate(Check check) {
return mapper.batchUpdate(check);
}
/**
* 主键查询
*
* @return 目标数据
*/
default Check selectById(String checkId) {
return mapper.selectById(checkId);
}
/**
* 条件查询
*
* @return res
*/
default List<Check> selectList(Check check) {
return mapper.selectList(check);
}
}
2.注意
接口不可使DI,需要使用SpringUtils.getBean(),手动获取mapper对象
CheckMapper mapper = SpringUtils.getBean(CheckMapper.class);