我要如何再去相信mybatis?

我之所以写这篇文章,只是为了表达三个字mmp,不是我没素质,只是坑实在太深(如果是我脑洞太浅,还望各位大牛留言多多指导)。

从今天下午的问题说起吧!

问题1:测试完全通过,等到发版的时候,线上产生了bug!
    是测试不够专业?我觉得并不是,只能说测试库太脏。导致测试怀疑我发到线上的和测试环境的不是同一版本的代码,纳尼?ci直接deploy的同一个release,我都没敢二次build,,你告诉我代码不一样??。。。
    心知肚明,直接忽略这个原因从代码找bug吧!!!
    
    花了二十分钟,我终于揪出来了原因,该死的mybatis。
    请告诉我,为什么mysql中返回的空字符串用在mybatis中转换成Integer就变成了0而不是null???因为我太年轻了?还是我不懂??
    (关于此事我请教了我们组的技术大牛,技术大牛给我的反馈是这你应该试一下。。 假如这个逻辑我也要测试一下,我觉得我原来一天的活可能需要一个月的时间去完成。怎么也想不通“”会被转换成0,恰好我还查的max(f),那假如最大值刚好是0呢??)
    此处略去前端和php一万个嫌弃的眼神和嘲讽。。。来不及解释,这锅我背了,还能说什么,抓紧时间改代码呗。。。
    当然此处php就不牵扯了,据说php中是没有这种强类型的!!!想转php的心都有了(开个玩笑,毕竟mybatis只是java的一个小泡沫)。
    
    此处我大约耽误了我们组一个小时下班时间,以至于下班延误到了七点,(团队还是非常团结的)发版失败,大家也都在公司陪我,此处表示深深的歉意和谢意!!
    
    
问题2:mybatis的又一个类型转换问题!!
    请告诉我!!为什么逆向工程中,mysql中的int字段对应到Java中是Integer???
    
    
    什么???看起来没问题是吧! 请告诉我,mysql中int能存储的最大整数(暂且按照有符号的来算),java中的Integer能存储的最大数又是多少?
    我们的php设计表的时候(我是后入职的,默认继承以前的表结构),用int存储的一个时间戳。我算了一下,mysql能存储的大约比java中能存储的多几千年吧。
    这不是最重要的,最重要的是,我发现java中的这个时间截至到2028年1月。。。  我的程序时间就瘫痪了。。。
    (此处技术大牛给我的解释是,我们都是这么做的,不用考虑几十年后的事情,也许那个时候就有解决方案)。纳尼,只有二十年了,万一呢。。被后人骂的还是我。。
    (再一次想转php的心又有了!!哈哈不至于的。)
    
问题3:不知道哪位大牛写的一个校验手机号的正则,我天真的就直接用了。
     也许是生产环境数据太多了,就有那个几个手机号恰好校验失败了!迫使我去掉了这个校验。
    
     以后只能相信自己的封装!!
    
问题4:我的代码中为什么这么多的Integer,为什么不用String。想到此处,我就想起今天看的那个产品经理被程序员打的视频。这个视频今天也是火的不要不要的。没有跟上队伍的可以先去排队(https://mp.weixin.qq.com/s/2nhSHaOpv069Jf9mUTwKZg)
    产品经理设计的,某个功能中区分每个人居然按照归类用数字,并且还要加人程序实现自增长???
    尽管需求讨论阶段,对于此功能我发表了存在并发等一些列问题,产品告诉我这块权限限制的只有几个人去操作,不会存在我想的那种问题。我也就默认不会了。也许产品想通过观察代码观察出来这个人属于哪个类吧。
    

短短一个下午,心情几波浮沉,暂时就吐槽到这里吧,毕竟还是要积极向上的!!也提醒各位同行er在以后的开发中,还是要多依赖自己,使用别人的免费服务,还是小心谨慎,毕竟不是自己的逻辑。

最后引用我同事今天发的一段话来激励自己:

创业的维艰,金融的血腥,人性的贪婪。
作为创业团队的一员,学会在没有鼓励,没有认可,没有帮助,没有理解,没有宽容,没有退路,只有压力的情况下,一起和团队获得胜利。
成功的定义,就是对结果负责。别做团队里面的灯泡,要别人鼓励才能发光。要成为团队的发动机,去影响其他人发光,自然自己就是核心。


此片文章没有配图,只是因为我的电脑中已经找不见photoShop的身影了,要不然肯定露一手我的ps秀!哈哈。。

你可能感兴趣的:(mysql连接,java)