之前学习的MP是直接用接口继承BsmMapper extends BaseMapper < BsmBizAlarm > ,然后在ConTroller层直接使用,但是在实际项目中我们还是要把mapper层、Service层分清楚的。本篇文章旨在整理使用MP实现项目的流程
1、Mapper层
在mapper层定义。泛型对应的是需要操作的模型(pojo类,它对应的是数据库的表)。
public interface AlarmMapper extends BaseMapper<BsmBizAlarm> {
}
SerVice层
public interface BizAlarmService extends IService<BsmBizAlarm> {
}
Service.Impl层
@Service
public class BizAlarmServiceImpl extends ServiceImpl<AlarmMapper, BsmBizAlarm> implements BizAlarmService {
}
Controller层
@Autowired
BizAlarmService bizAlarmService;
@PostMapping("/test")
public PageResponse test1(@ApiParam() @RequestBody PageRequest<BizAlarmVo> pageRequest){
BizAlarmVo bizAlarmVo = pageRequest.getParam();
LambdaQueryWrapper<BsmBizAlarm> lqw = new LambdaQueryWrapper();
// 根据警报时间排序
lqw.orderByDesc(BsmBizAlarm::getAlarmTime);
if(!StringUtils.isEmpty(bizAlarmVo.getAlarmTimes())){
Date start = bizAlarmVo.getAlarmTimes().get(0);
Date end = bizAlarmVo.getAlarmTimes().get(1);
//大于 参数1 需要对比的column DateUtil.getDayStartTime(start)是封装好的代码,自动把start携程Timestamp
lqw.ge(BsmBizAlarm::getAlarmTime,DateUtil.getDayStartTime(start));
lqw.le(BsmBizAlarm::getAlarmTime,DateUtil.getDayEndTime(end));
}
// 分页查询 根据自己定义的BsmPage接收参数,并构建page类
IPage page = bizAlarmService.page(pageRequest.page(),lqw) ;
return PageResponse.succ(page);
}