简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
通过以上例子我们可以发现Comparator.comparing(类::属性一).reversed();Comparator.comparing(类::属性一,Comparator.reverseOrder());两种排序是完全不一样的,一定要区分开来 1 是得到排序结果后再排序,2是直接进行排序,很多人会混淆导致理解出错,2更好理解,建议使用2。可以使用Comparator.nullsLast或
最近遇到一个问题,需要根据两张表(一对一)的查询结果进行分组并按照时间倒序排序,问题的关键是分组的字段和排序的字段还不在一张表,因为执行顺序group by是在orderby之前的,先groupby分组再orderby排序发现记录不是每组排序的第一条;把查询结果作为子查询先orderby排序,最后在对整体记录groupby分组也得不到想要的结果,搞得很头疼通过对官方文档的查询和网上资料以及自己的验
在List转Map的过程中,我们可以选择使用for循环遍历、Java8 Stream API、Apache Commons Collections或Google Guava。对于小规模数据集,使用for循环遍历是最简单直接的方式。而对于大规模数据集,Java8 Stream API提供了更高效和优雅的实现方式。如果你使用了Apache Commons Collections或Google Guav
在平时的开发工作中,我们时常会遇到开发一个新功能,这个功能不是一两天就能完成的,且在日常分支上开发会影响正常的逻辑运行,这时候就面临着需要从现有日常分支的基础上新创建一个功能分支用来开发,开发自测完成后再同步回来,今天就分享下简单的创建步骤:1、打开Git Bash Here进入要存放的代码目录cd代码目录2、根据已有分支创建新的分支git checkout -b yourbranchname o
在项目开发中我们时常会遇到一些前端频繁操作带来的问题,有的时候是误点或者页面卡顿了导致用户以为没有点击重复操作导致出现多次无效请求的现象,这里分享一个Java中利用redis来限制这种现象的方法:场景:以 支付场景为例,现有一订单需要去支付,点击支付按钮后因习惯再次点击或者短时间未响应又重复点击会造成多次请求支付接口,造成多次无效请求,也会增加消耗思路:redis可以设置过期时间,可以通过存储该订
在开发过程中我们一般遇到的是对入参的判断不为空且不为null,例:<if test="status != null and status != ''">andrf.status = #{status}</if>本次说的是对查询字段的判断,例:-- a为用户,b为角色,c为组织,该sql模拟查询已绑定组织和角色的用户SELECTa.*, b.role_type,c.`name