Chuenhung的个人网站

chuenhung.github.io

@RequestBody注解支持空参数

@RequestBody(required=false),get/post且实体不加无参构造方法都行

windows查看占用端口并杀死对应进程

1
2
3
4
5
6
7
8
9
10
11
E:\Documents\MyIdeaProjects\act\target>netstat -ano |findstr "8888"
TCP 0.0.0.0:8888 0.0.0.0:0 LISTENING 14176
TCP [::]:8888 [::]:0 LISTENING 14176

E:\Documents\MyIdeaProjects\act\target>tasklist |findstr "14176"
javaw.exe 14176 Console 2 254,736 K

E:\Documents\MyIdeaProjects\act\target>taskkill /f /t /im "javaw.exe"
成功: 已终止 PID 14176 (属于 PID 13304 子进程)的进程。

E:\Documents\MyIdeaProjects\act\target>netstat -ano |findstr "8888"
阅读全文 »

问题描述

在使用PageHelper进行分页的时候,大部分时候都是正常的,但是有一个接口的分页总数一直有问题(为当前页的数量、页数一直为1)。先看看目前的代码:

阅读全文 »

问题描述

reward项目下面有reward_management和reward_portal两个模块,项目结构如下:
├─reward
│ ├─reward_management
│ ├─reward_portal
在reward_portal中的pom.xml加入依赖,在reward_management中的代码也能引用到相关包,导致项目启动报错、Maven打包报错。

解决方法

手动去除有问题的依赖即可,如下图所示:
在这里插入图片描述

Excel表格

下面是Excel表格,成果简介前可以作为主表数据存储(存在合并),成果简介后的数据作为从表数据存储。
在这里插入图片描述

实现思路

  • 通过EasyExcel读取Excel数据,用List<AwardsDetailField> list接收
    因为POI/EasyExcel对合并单元格的数据只读取一次,需要把为空的单元格也赋值,这是核心技术难点

  • 循环使用hibernate-validator对数据进行校验
    存在校验不通过的数据返回给前端,所有数据校验通过才写入数据库

  • 封装然后写入数据库

    • 用Java8 对List< DetailFeiled> list根据多字段进行分组,得到Map<String,List> map
    • 循环map,封装主表和详细表插入list
    • 批量插入
  • 导入时要求同一年数据可以分多次导入,但同一年内,成果名称不允许重复
    这个可以在数据库中根据获奖类型+获奖年份+成果名称建立联合约束

    1
    ALTER TABLE t_awards ADD CONSTRAINT award_type_year_product UNIQUE (award_type,award_year,award_product);

    参考链接

阅读全文 »

前后端分离,后端虽然用了Swagger但有时候还是需要手动维护文档的,Java实体字段很多的时候,维护起来还是很费时间。本文介绍如何通过Java反射和EasyExcel把实体信息导出为Excel表格,表格可用于维护接口文档

阅读全文 »
0%