MybatsPlus传入时间作为查询类型

  • MybatsPlus传入时间作为查询类型
//controller层
    @RequestMapping(value = "/damageTodayList", method = RequestMethod.GET)
    public Msg GetDamageTodayList(
            @RequestParam(value = "time") String time,
            @RequestParam(value = "pn") String pn,
            @RequestParam(value = "limit") String limit
    )
  • 前端返回名为time的字符串,格式为YYYY-mm-dd
    @Autowired
    DamageMapper damageMapper;

    /**
     * 用来返回当日damage列表
     * 测试url:http://localhost:8080/damage/damageTodayList?time=2021-10-23&pn=2&limit=10
     * @param time
     * @param pn
     * @param limit
     * @return
     */
    @Override
    public IPage<Damage> damageTodayList(String time, String pn, String limit) {

        QueryWrapper<Damage> wrapper = new QueryWrapper<Damage>();
        IPage<Damage> iPage = new Page<>(Integer.parseInt(pn),Integer.parseInt(limit));
        wrapper.apply("date_format(post_date,'%Y-%m-%d') = '" + time+ "' ");
        return damageMapper.selectPage(iPage,wrapper);
    }
  • 主要靠wrapper.apply("date_format(post_date,'%Y-%m-%d') = '" + time+ "' ");
    • 其中wrapper.apply(),mybatisplus提供了一个apply关键字,来拼接sql语句,
      MybatsPlus传入时间作为查询类型
    • date_format(数据库字段名,'%Y-%m-%d')用来规定数据库字段和传过来的time表示形式一致的

参考
真是解决了困扰我多时的问题。

上一篇:Jenkins 六: 构建中执行shell或者 windows的批处理程序


下一篇:ZOJ 2676 Network Wars[01分数规划]