时间戳,我在我的脸上先盖个戳!!!

终于完成了工作了,是一个关于记录查询的一个小功能。前后端都是由我作的,前端是一个AngularJS(没错就1代),后端就是springmvc(其实是springcloud,但是我的功能不涉及),数据库是mybatis。就是在项目上添加两个通过时间查询和类型查询的组件。(前端都懂吧)。

前端的东西不多,理解angularjs就行了(实际上和公司的东西高度封装了这个框架,必要的组件直接用就可以了。这个问题不大)。说一说我碰到的坑。

1.时间组件我希望传出来两个参数。(开始和结束,时间范围)js封装了以date类型的数据,我觉得使用使用时间戳在实现上更直接一点,计算机还是更擅长计算。所以我就使用了当时我唯一能用的valueof()。(试着用其他函数,显示都是没有这个函数。)浏览器显示的数据是正确的。就是一个标准时间戳。但是使用sql语句的时候就是找不到数据,也没报错。后来发现unix_timestamp的时间戳是精确到秒的,js传来的参数是精确到毫秒的。

2.mybatis动态sql查询
这个我感觉很有必要学,因为只要理解理解项目代码之间的关系,spring就可以实现对dao的高可用。
https://www.cnblogs.com/mingforyou/p/4256054.html

整个项目都是这个完成的,当时我在页面实现一个新的功能对调用记录按环境查询甚至都不用写新接口。这个确实惊艳到我了。

  1. 其实前端遇到的不少,但是前端使用angularjs封装的,只要会用浏览器调试。问题不大。

4.就是sql优化,我当时为了偷懒直接将原先的一个from access_record这个表进行了依次查询,听大神说,这样数据迭代查询复杂度提高了一个层级。其实一开始的目的只是为了增加一个查询条件。把它放在where条件后面这样就好了。(时间由2s多减少到200ms)

总结下来,我需要优化的就是我的知识体系如下:
(1)springmvc整合mybatis的一些高级功能,我一次的任务因为是没有写测试用例的,所以我差不多按时完成了,不然就凉凉了。所以这个是基本功,需要重点加强
(2)mysql的优化技巧,因为关于时间查询的那个问题还是别人给看出来了。这个很有必要,让我想起刚毕业的时候sql面试题,我差点自闭了。一半的笔试题都是关于sql语句的查询的。没有简单查询都是符合查询,给你说一个业务,然后sql写出来。灵魂在战栗
(3)对于我这种前后端都接触的程序员,有机会接触到前端的话还是认真学一下,只是angular2在2016年都发布了,最新的教程都更到了7+了。这么流行的前端框架当然更好了。

嗯,现在心情不错,因为我的vpn又可以用了。我又可以愉快的使用google了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值