20170810
早上六点多就醒了,不过这次没继续睡,而是起来肝fgo。完了七点半过早跑路,继续写功能。因为昨天把mybatis配置什么的都弄好了,所以业务代码很快就写完了。继续看看mybatis文档,发现有sqlprovider这种好东西,可以把sql语句封装到另一个类的方法里去。这就好多了,dao层的注解就像粘合剂,把来自xml文件的结果集字段映射和来自sqlprovider的sql(当然,可以写在一行的sql就直接写在注解里吧)粘在一起,看起来好很多。继续看看,发现还有一个SQL类,可以用来构建sql语句。功能很简单,new一个SQL类,然后在双大括号初始化语法里(这个真少见,之前也只在初始化Map的固定值的时候见过,然而窝一直是用ImmutableMap和Collections的相关方法的)调用它的SELECT等函数来写sql语句。本质上还是builder模式,调用方法实际上在收集参数,最后toString的时候会build出一个sql语句来。做得挺粗糙的,什么As啊On啊这些关键字都没有,以至于写left join的时候,left join是一个函数,然而on要写在作为参数的字符串里,怎么看怎么别扭。前套查询也没有什么更智能的东西(FROM的参数就只能是String)。不过说到底这些东西都是为了弥补java没有多行字符串的缺陷,这样一看倒是刚好满足需求。下午没事做,老大说让窝看看hystrix,其它开发已经被它的熔断策略搞得云里雾里了。感觉hystrix(以及rxjava,ribbon)的编程范式完全不是oop那一套。感觉偏函数式但纯函数式窝也不懂所以不好说。哟西,趁此机会好好弄清楚。老大说完就跑路了,那窝还是划水吧……有点困啊。继续看看书,晚上把二十世纪美国法律史看完了,明天开始看世俗时代。水野茜没晋级好可惜啊……还是投完票碎觉。
评论
发表评论