MybatisPlus的QueryWrapper查询操作关键词,当月数据,上月数据

最近总是用到QueryWrapper,所以特此记录下来一遍以后查询。

queryWrapper.lt()——<

queryWrapper.le()——<=

queryWrapper.gt()——>

queryWrapper.ge()——>=

queryWrapper.eq()——=

queryWrapper.ne()——不等于

queryWrapper.betweeen(“age”,10,20)——age在值10到20之间

queryWrapper.notBetweeen(“age”,10,20)——age不在值10到20之间

queryWrapper.like(“属性”,“值”)——模糊查询匹配值‘%值%’

queryWrapper.notLike(“属性”,“值”)——模糊查询不匹配值‘%值%’

queryWrapper.likeLeft(“属性”,“值”)——模糊查询匹配最后一位值‘%值’

queryWrapper.likeRight(“属性”,“值”)——模糊查询匹配第一位值‘值%’

queryWrapper.isNull()——值为空或null

queryWrapper.isNotNull()——值不为空或null

queryWrapper.in(“属性”,条件,条件 )——符合多个条件的值

queryWrapper.notIn(“属性”,条件,条件 )——不符合多个条件的值

queryWrapper.or()——或者

queryWrapper.and()——和

queryWrapper.orderByAsc(“属性”)——根据属性升序排序

queryWrapper.orderByDesc(“属性”)——根据属性降序排序

queryWrapper.inSql(“sql语句”)——符合sql语句的值

queryWrapper.notSql(“sql语句”)——不符合SQL语句的值

queryWrapper.esists(“SQL语句”)——查询符合SQL语句的值

queryWrapper.notEsists(“SQL语句”)——查询不符合SQL语句的值

查询上个月数量,需要注意的是%Y和%m之间,你用的什么格式,中间就用什么符号

SELECT COUNT(*) FROM wt_task_user WHERE PERIOD_DIFF(date_format(NOW(),'%Y%m' ),date_format( create_at,'%Y%m')) =1

查询当月数量,注意时间格式的匹配,否则不起作用

SELECT * from tablename WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' );
select count(*) from tb_order where date_format( create_time, ‘%Y-%m’) = date_format(now(), ‘%Y-%m’)

查询当天的数据

select * from 表名 where to_days(createtime) = to_days(now());

查询昨天数据

SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( createtime) <= 1

查询,近7天的数据 createtime为时间字段名

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(createtime)

查询近30天数据

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(createtime)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 MyBatis-Plus 提供的条件构造器来实现查询当月数据。具体操作如下: 1. 在实体类中添加一个查询条件字段,如下所示: ```java public class User { // 省略其他字段 /** * 查询条件:当月开始时间 */ @TableField(exist = false) private LocalDateTime monthBegin; /** * 查询条件:当月结束时间 */ @TableField(exist = false) private LocalDateTime monthEnd; } ``` 2. 在 Mapper 接口中编写查询方法,使用条件构造器构造查询条件,如下所示: ```java public interface UserMapper extends BaseMapper<User> { /** * 查询当月数据 * @param monthBegin 当月开始时间 * @param monthEnd 当月结束时间 * @return 当月数据列表 */ List<User> selectCurrentMonth(@Param("monthBegin") LocalDateTime monthBegin, @Param("monthEnd") LocalDateTime monthEnd); } ``` 3. 在 Service 中调用 Mapper 的查询方法,构造查询条件,如下所示: ```java @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { @Override public List<User> selectCurrentMonth() { LocalDateTime now = LocalDateTime.now(); LocalDateTime monthBegin = LocalDateTime.of(now.getYear(), now.getMonth(), 1, 0, 0, 0); LocalDateTime monthEnd = monthBegin.plusMonths(1).minusSeconds(1); QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.between("create_time", monthBegin, monthEnd); return baseMapper.selectList(queryWrapper); } } ``` 其中,`selectList(queryWrapper)` 方法将会根据构造的查询条件执行 SQL 查询并返回当月数据列表。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值