一个Java后台开发的工作随笔(持续更新中,欢迎大神补充修正)

在Java的路上奋斗一段时间了,有些工作上的经验与感想,仅作记录,持续更新中.....

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