在Java的路上奋斗一段时间了,有些工作上的经验与感想,仅作记录,持续更新中.....
- 数据库存json格式的字符串({“”:“”}),取出时无需做多余的处理操作
- lambda表达式无法抛异常
- 敏感字段加密保存到数据库中,前端显示数据脱敏(部分隐藏)
- 搭建开发环境等,无非就是在Linux服务器/虚拟机上安装软件
- 数据库字段过小,采用标记串+缓存方式解决(好处:不需要修改数据表中字段的长度;缺点:取出麻烦,需要多做处理)
- curl http://127.0.0.1:端口号/接口名 在服务器上调用接口
- telnet 域名(没有http://) 端口号 测试域名对应的防火墙是否开启
- oracle中比较时间的函数是to_date("date","格式")
- oracle字符串大小直接比较(如创建时间用varchar2存储,直接用 > 比较大小)
- Mybatis中动态SQL的比较符号需要转义(转义有很多种方式:<![CDATA[...]]>)
- restful风格入参,单个参数用@PathVariable("paramName"),非restful风格,单个参数用@RequestParam,对象用@RequestBody
- 批处理数据时,可能会有异常的地方要跳过(try...catch...),且要把出错的ID打印出来,遇到为null的数据不执行(动态SQL数据全为null会报缺少关键字)
- redis批量删除key值除了用程序方法,还可以在服务器上用(绝对路径/redis-cli keys ' values ' | xargs 绝对路径/redis-cli del )
- 日志打印技巧1:调用第三方接口时,要将访问链接和入参先打印出来,调用过程需要try...catch,防止第三方接口影响当前逻辑,还需要将调用结果打印出来,协助排查
- 日志打印技巧2:调动第三方接口或者在自家接口结束时,将接口的耗时打印出来,便于后续接口时延优化
- 需要自动装配的对象,不可以用static修饰,不然会报null异常
- 数据库数据去重,可以给相应的字段添加唯一约束
- 常量类用class表示,用interface会失去java的动态优势