java技能如何炫技

如图所示
在这里插入图片描述
emmmm

好吧,随便说几个用到的吧

一、根据某个字段,排序存储map的list集合

{
 方法{
   List<Map<String,Object>> arrayList = 一个集合;
   List<Map<String, Object>> list = arrayList.stream().sorted(Comparator.comparing
(类名::getAttribute, Comparator.nullsFirst(Comparator.naturalOrder())).reversed()
) .collect(Collectors.toList());
 }
  private static Double getAttribute(Map<String, Object> map){
        if (ObjectUtil.isEmpty(map.get("XXXX"))){
            return null;
        }else{
            return Double.parseDouble((String) map.get("XXXX")) ;
        }
    }
  }
}

二、AOP,统一处理代码

//类一 controller
    @YYY
    @GetMapping("/XXX")
    public Object XXX(
            @ApiParam("页码") @RequestParam(value = "pageNo") Integer pageNo,
            @ApiParam("页数") @RequestParam(value = "pageSize") Integer pageSize) {
        return Object;
    }

//另一个类定义注解    
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface YYY{
}

//另一个类定义切面
@Aspect
@Order(123) //顺序
public class Filter {
@Around("@annotation(YYY)")
	public Object before(ProceedingJoinPoint point, Api api) throws Throwable {
	    //前
	    Object data = point.proceed(paramValues);// 方法运行
	    //后
	}
}

三、定时任务,每小时一次

@Component
@Configurable
@EnableScheduling
@Slf4j
public class XXXTask extends AbstractTask {
@Scheduled(cron = "0 0 */1 * * ?")
  public void method(){
   }
   
}

四、加行锁

<select id="selectOneInfoByLock" parameterType="java.lang.Integer" resultMap="CustomResultMap">
    SELECT * FROM `XXX`
    <where>
      id = #{id}
    </where>
    for update;
  </select>
  //Java 代码中加注解
  @Transactional(isolation = Isolation.READ_COMMITTED)

五、POI导出excel合并单元格,(举例合并1到5行,的第8列和第10列)

        HSSFWorkbook book = new HSSFWorkbook();
        HSSFSheet sheet = book.createSheet(title);
       int startRowIndex = 1;
       int rowIndex = 5;
       //填充数据-----
       //自己填充
       //------------
        List<List<Integer>> mergeParams = new ArrayList<>();
                // 依次放入  起始行 结束行 起始列 结束列
                for (int i = 0; i < commonTotalSize; i++) {
                    List<Integer> mergeParam = new ArrayList<>(2);
                    mergeParam.add(startRowIndex);
                    mergeParam.add(rowIndex - 1);
                    if (i == 0){
                        mergeParam.add(8);
                        mergeParam.add(8);
                    }else if(i == 1){
                        mergeParam.add(10);
                        mergeParam.add(10);
                    }
                    mergeParams.add(mergeParam);
                }
            }
        }
        for (List<Integer> list : mergeParams) {
            if (!Objects.equals(list.get(0), list.get(1))){
                sheet.addMergedRegion(new CellRangeAddress(list.get(0), list.get(1), list.get(2), list.get(3)));
            }
        }
        return book;

活动作品 ,混一首

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值