日常开发记录

问题:字段映射注解的使用

使用的是FastJson ,字段注解应该用@JSONField@JsonPropertyJackson 库中字段的注解

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();
-----解析ExcelBO----
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运行恢复正常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值