今天是我第一天写博客,遗憾的是这一天实际上在技术方面好像没有学到什么新东西,先总结一下自己在开发中有什么缺点:
1、在功能开发时还是会粗心大意,比如说在查询时会忘记companyCode做筛选条件,从default数据中查询赋值重新保存时容易忽略code等字段。
2、在功能逻辑上思考不全面,比如有关联行为的数据,在保存时做了处理,但是在主表进行更新或者删除操作时会忘记更新子表。
解决方法:
在开发时还是要静下心来,现在相比之前实际上已经平静了许多,在工作时不会去思考别的东西,但是由于需要完成的功能太多,压力比较大,而且对自己过于自负,导致没有能静下心去思考功能开发时需要注意到的点,一直在赶进度,再一个就是自己水平能力还不够,有些地方在实现还有效率优化上还要仔细琢磨,导致开发时间被拉长。
今天的收获:
1、知道GitHub的PageHelper用到了ThreadLocal(ThreadLocal的作用主要是做数据隔离,填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的,在多线程环境下,如何防止自己的变量被其它线程篡改。),在
PageHelper.startPage(pageNum, pageSize);
时ThreadLocal中设置了分页参数,在执行查询时会拦截sql语句拼上limit,执行之后在finally中清除ThreadLocal中的查询参数
2、对springboot对于bean的生命周期管理有了新的认识。
3、对于mysql优化有了新的认识,对于字段类型对性能的影响有了比较深刻的认知,(最近在苏州开发发现有几张表打开查询很慢,明明数据没有多少,虽然我的ssd是个假货,但是导致SQLyog卡死真的是不能忍,后来发现某些表里有三四十个字段,其中有5-7个大数据量字段使用的是text类型)具体参考