实习过程中碰到的一些知识点

isBlank和isEmpty的区别

isEmpty会把空格视为非空,而isBlank会把空格视为空

DecimalFormat的使用

客户要求数据保留两位小数,不足两位的后面要补0,使用DecimalFormat.format函数实现(0.00保存两位小数,不足的补零;0.00#两或三位小数,区别是如果实际数据只有两位,后面不会补0,如果实际数据是三位小数则会显示三位),一级指标分析时查询数据,封装的时候做一个数据格式处理,指标二级下钻和三级下钻同理,在封装数据的时候使用NumberUtil.dealValue工具类进行数据格式处理

使用MybatisPlus进行分页查询

因为MybatisPlus的分页操作是通过拦截器实现的,所以要在MybatisPlusConfig配置中配置拦截器

public MybatisPlusInterceptor paginationInterceptor(){
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
    //设置每页最大数据量
    paginationInnerInterceptor.setMaxLimit(10000L);
    interceptor.addInnerInterceptor(paginationInnerInterceptor);
    return interceptor;
}

配置好之后使用service或者mapper提供的方法xxxmapper.selectPage(Page page,Wapper wapper)或者xxxservice.Page(Page page)可直接使用分页,Page对象传入,current和size,当前页和大小,例如第0页显示10000条数据,Page(0,10000)

查询完之后会有返回值,返回一个Page对象,这个对象中包含了,当前页数,显示条数,最大页数,数据总条数等参数,可以直接通过page.getxxx()获取

page.getCurrent()获取当前页码

page.getTotal()方法返回总记录数

page.getSize()每页显示记录数

page.getPages()总页数

查询时间范围的sql语句

select *
from stat_log
where click_time
          between (date_format(click_time, '%Y-%m-%d') = #{date1})
          and (date_format(click_time, '%Y-%m-%d') = #{date2});

遇到的问题以及解决方法
范型

在数组参数中使用泛型要使用 '?' 来做占位符

public static JSONObject doPost(String url, Map<String, String> headerParam, ArrayList<?> bodyParam) {}
sql查询时间范围

between and 的取值区间

包括边界值的 not between 不包括边界值

如果是天数,例如between2023-10-23 and 2023-10-24

sql会自动把后边的时间补全,查的实际是2023-10-23 00:00:00 到 2023-10-24 00:00:00只是23这一天的数据

字符串分割

参数里是正则表达式

String.split("\\s+")

从空格处分割成一个String数组

遇到的异常
NullPointerException

描述:在当天没有数据的时候,传递空数据进行判断,报空指针异常,

解决:在判断之前也要加上非空判断

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗雨卿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值