若依框架 Timestamp 统计数据库中指定时间段内的记录数量

经过加密和删减处理,仅作示范;import部分全部删减。

Cotroller层

@RestController
@RequestMapping("/sample")
public class SampleController
{
    @Autowired
    private SampleService sampleService;

    @PostMapping
    public int sampleStat(@RequestBody Timestamp head,@RequestBody Timestamp tail)
    //前端如何传值,后端如何得出指定的时间段可以自由发挥
    {
        if(tail.after(head))       
            return sampleService.sampleStat(head, tail);
        else
            return sampleService.sampleStat(tail, head);
    }
}

Service层

public interface SampleService
{
    public int sampleStat(Timestamp head, Timestamp tail);
}
@Service
public class SampleServiceImpl implements SampleService
{
    @Autowired
    private SampleMapper sampleMapper;
    //此处一般idea会报红色波浪线,显示不能autowire,可以无视

    @Override
    public int sampleStat(Timestamp head, Timestamp tail){
        List statistic = sampleMapper.sampleStat(head, tail);
        //SampleEntity即数据库对应实体类,不作赘述
        return statistic.size();
        //返回
    }
}

Mapper层

//@Mapper
//此处@Mapper注解可加可不加,似乎不影响运行,但加了可以让serviceimpl的mapper注入不报警告
public interface SampleMapper 
{
    List sampleStat(@Param("head") Timestamp head, 
                                  @Param("tail") Timestamp tail);
}

mapper.xml:





    
        
        
    

	

问题记录

        sql语句between head and tail 保证 head < tail (不一定必要但一定没错)

        Mapper interface 入参注解@Param必须有,不然报错

你可能感兴趣的:(java)