接口和实现类都继承: 如果你让你的服务接口继承
IService,并让你的服务实现类继承ServiceImpl,那么你的服务接口将明确地列出所有可用的 CRUD 方法。只继承
ServiceImpl: 如果你只让你的服务实现类继承ServiceImpl,你仍然可以使用所有IService的方法,但这些方法不会明确地在你的服务接口中列出。
- @Override
- @Transactional(rollbackFor = Exception.class)
- public ResponseDTO
deleteUnitManagementById(Integer id) { - unitManagementDao.deleteById(id);
- this.removeById(id);
- return ResponseDTO.succ();
-
- }
- @Slf4j
- @Service
- public class UnitManagementServiceImpl extends ServiceImpl
implements UnitManagementService { -
-
- public interface UnitManagementService extends IService
{ -
-
- @Mapper
- public interface UnitManagementDao extends BaseMapper
{
使用 Integer 而不是原始类型 int 有其优点,特别是在处理可能返回 null 值的查询时。原始类型 int 不能接受 null 值,而包装类 Integer 可以。
- public interface UnitManagementMapper extends BaseMapper
{ - Integer countDistinctUnitLevels();
- }
lambdaQuery 方法查询:- public List
findByUrl(String url) { - return lambdaQuery().eq(CmsContent::getUrl, url).list();
- }
baseMapper:- public List
findByUrl(String url) { - QueryWrapper
queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("url", url);
- return baseMapper.selectList(queryWrapper);
- }
LambdaQuery (LambdaQueryWrapper, LambdaQueryChainWrapper)
- List
users = new LambdaQueryChainWrapper<>(userMapper) - .eq(User::getName, "John")
- .list();
-
- LambdaQueryWrapper
lambdaQuery = Wrappers.lambdaQuery(); - lambdaQuery.eq(User::getName, "John");
- List
users = userMapper.selectList(lambdaQuery);
hutool包里的ObjectUtil.isNull和ObjectUtil.isEmpty的区别
ObjectUtils 和StringUtils工具包的区别
Spring Framework:ObjectUtils.isEmpty(unitLevel)