常用的SQL

注意点:

1.Wrapper记得condition,比较前记得时间格式要对

SQL

1. 查询id在某个idList里的记录

        <if test="queryDto.ids != null">
           and id in
            <foreach collection="queryDto.ids" index="index" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>

2. 查询在某时间范围内

            <if test="queryDto.startTime!=null and queryDto.endTime!=null">
                and time between #{queryDto.startTime} and #{queryDto.endTime}
            </if>

注意点:数据类型是LocalDate或者LocalDateTime,就不能用空字符除按判空了,要用null

3. 查询某天的数据(例如当天)

queryDto.setDate(LocalDate.now())
DATE(column_name) 转换格式

            <if test="queryDto.date!= null">
                and DATE( time)= #{queryDto.date}
            </if>

4. 结果多维度排序

ordeyBy  column_1, column_2,...
如果用Wrapper,就直接多个.orderBy(column_1).orderBy(column_2)

比如column_1代表天数,column_2代表等级,
那么这条sql的效果是,先根据天数排了,再根据等级排。结果例如:
[{day:1, level:1},{day:1, level:2},{day:1, level:3},{day:2, level:1},{day:1, level:2}]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值