Mybatis Plus条件构造器apply查询方式的使用

1.业务需求一:根据传进来的开始日期,查询所有该日期是数据,但是数据库中保存是时间,所以需要使用apply查询方式并格式化。

    相关代码如下:

LambdaQueryWrapper<TRandomPaper> lqw = new LambdaQueryWrapper<TRandomPaper>();
if (tRandomPaper.getStartTime() != null){
	//页面传进来Fri May 29 00:00:00 CST 2020格式的类似时间需要格式化一下
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	String startTimeFormat = sdf.format(tRandomPaper.getStartTime());
	//start_time:数据库中的开始时间,需格式为年月日的格式与传进来的开始日期进行匹配
	//条件构造器apply的查询方式解决日期和时间之间查询上的冲突
	lqw.apply("date_format(start_time, '%Y-%m-%d') = {0}", startTimeFormat);
}
List<TRandomPaper> list = iTRandomPaperService.list(lqw);

2.业务需求二:查询出待学课程,待学课程的标准是如果课程结束时间小于当前时间即为待学课程。

    相关代码如下:

LambdaQueryWrapper<CourseAllocation> lqw = new LambdaQueryWrapper<>();
lqw.eq(CourseAllocation::getUserId,userId)
	.eq(CourseAllocation::getCourseFroupKey,1)
	//course_study_end_time为数据中课程结束时间
	//使用条件构造器apply查询方式可以直接把格式一样的当前时间和课程结束时间进行比较筛选
	.apply("DATE_FORMAT(course_study_end_time,'%Y-%m-%d') > DATE_FORMAT(NOW(),'%Y-%m-%d')");
List<CourseAllocation> list = iCourseAllocationService.list(lqw);

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值