若依框架 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<SampleEntity> statistic = sampleMapper.sampleStat(head, tail);
        //SampleEntity即数据库对应实体类,不作赘述
        return statistic.size();
        //返回
    }
}

Mapper层

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

mapper.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.sample.mapper.SampleMapper">

    <resultMap type="SampleEntity" id="SampleResult">
        <id     property="id"           column="id"          />
        <result property="sampleTime"   column="sample_time" />
    </resultMap>

	<select id="SampleStat" parameterType="java.sql.Timestamp" resultMap="SampleResult">
		select * from sql_sample
		where sample_time between #{head} and #{tail}
	</select>

</mapper>

问题记录

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值