- 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语句,
-
date_format(数据库字段名,'%Y-%m-%d')
用来规定数据库字段和传过来的time表示形式一致的
- 其中wrapper.apply(),mybatisplus提供了一个apply关键字,来拼接sql语句,
参考
真是解决了困扰我多时的问题。