问题:字段映射注解的使用
使用的是FastJson ,字段注解应该用@JSONField
,@JsonProperty
是 Jackson 库中字段的注解
public class Person {
@JSONField(name=“ageN”)
private int age;
@JSONField(name=“nameN”)
private String name;
}
String jsonString = “[{“ageN”:“30”,“nameN”:“John”}]”;
// 将 JSON 字符串转换为 Person 对象列表
List persons = JSON.parseArray(jsonString, Person.class);
问题:@Bulider注解的使用
- @Bulider注解要与@AllArgsConstructor、@NoArgsConstructor一起使用,如若单独使用,会报错Error attempting to get column ‘x‘ from result Cause: com.alibaba.fastjson.JSONException
- 使用@Bulider注解后的实体类,不能使用new关键字创建对象
Oracle 修改字段
字段有数据的情况,直接修改会报错:“ORA-01439:要更改数据类型,则要修改的列必须为空”,
使用临时字段过渡的方式修改
alter table A add new_temp varchar2(10);
update A set new_temp = a;
update A set a = '';
alter table A modify a varchar2(10);
update A set a = new_temp;
alter table appr_control_info_ex drop column new_temp;
问题:文档上传内容未填充
场景:文档上传后,发现文档内容未填充
解决:再上传文档前应该先进行文档保存(类似word编辑后的ctrl + s 保存)
log.info("解析模板doc begin");
FgMenoryDoc doc = new FgMemoryDoc(path, FileFornat.Doc);
doc.replaceParamMord(fileMap) ;
doc.document.saveToFile(fileName:FcupConstant.TENPLE_PATH + tmplNm, FileFor at.Doc];Log.info("解析模板doc end");
Strang base64Info = saveToInage(FcupConstant.TENPLE_FATH +tmpNm,FileFormat.Doc);
问题:交叉连接与内连接
交叉连接:cross join | ,
内连接:inner join
select t1.*, s.prodCount from t1, (select count(distinct prod_cd) as prodCount from t1) s
将一个SQL查询作为表,拼接返回一个组装的对象
交叉连接和内连接一样的筛选条件,返回结果一样
题目:String字符串和String数组互相转换
String s = "1,2,3";
String[] split = s.split(",");
String join = String.join(",", split);
题目:Controller接口参数校验,String类型用@NotBlank
@NotBlank会校验字段不能为null,字段值长度不为0,
@NotNull只会校验字段不为null,不会校验字段值为空字符串的情况
题目:Google浏览器console的常用函数使用
- 常用url乱码转中文:decodeURL(url)
- 将数据库时间字符串转为日期格式:new Date(17176422743361).getHours() + “-” + new Date(17176422743361).getMinutes()
题目:EasyExcel写入|解析excel文件
-----数据写入excel----
ExcelWriter excelWriter = EasyExcel.write(outputStream, ExcelBO.class).bulid();
WriterSheet sheetWriter = EasyExcel.writer(fileName).build();
List<ExcelBO> excelList = new ArrayList<>();
excelWriter.writer(excelList, sheetWriter);
excelWriter.finish();
-----解析Excel到BO----
List<ExcelBO> = EasyExcel.read(inputStream).head(ExcelBO.class).sheet(0).doReadSync();
题目:Mybatis字符串拼接
1、数据库类型:Oracle
2、字符串拼接方式:concat(“a”, “b”)函数、“a” || “b”
3、两种拼接方式的区别:concat(“a”, “b”)函数只能拼接两个字符串,|| 拼接的方式没有这个限制,
优先使用 || 的拼接方式
题目:Controller接口header里要添加字段
使用@RequestHeader()注解:
//在请求头里添加字段User-Agent进行权限校验
@PostMapping("/greet")
public String greet(@RequestBody RequestDTO<UfxReq> resquestDTO, @RequestHeader("User-Agent") String userAgent) {
return "Hello! You are using " + userAgent;
}
题目:计算两个时间的时间间隔
Duration timeGap = Duration.between(DateUtil.convertToLocalDateTime(maxWarnTime), DateUtil.convertToLocalDateTime(crtTm));
timeGap.toMinutes() //将间隔转换为分钟为单位
题目:IDEA DEBUG模式巨慢
IDEA debug模式巨慢,run模式正常, 打开断点检查,去掉Java Method Breakpoints下面的断点,debug运行恢复正常