今天修改了MiniDao的部分代码,突然想起了一个让自己疑惑的问题,为什么需要MiniDao?
MiniDao是什么,不知道的朋友可以看看这里http://zhangdaiscott.github.io/MiniDao/
自己改的MiniDao https://code.csdn.net/jueyue/minidao_xml
公司是使用ibatis来写的,这个再更改框架基本上可能性不大了,因为我们项目和数据库关系比较大,但是现在ssh流行程度那是非常高,而且hibernate具备ibatis无法比拟的优势,跨数据库和easy的sql再也不用写了,
但是hql和Criteria也有些是不行的,那就是复杂的sql,有时候sql很容易就可以解决的问题,hql却很复杂,对于我们解决问题才是王道,语言不如说框架就是一个途径,但是一个项目部署hibernate和ibatis无疑是个很蛋疼的问题,
现在spring 的jdbc给我们解决了部分问题,他可以很好的和hibernate解决,并且解决hibernate不容易解决的问题,(楼主也但是使用过spring jdbc做个项目开发,这个也是自己改mini到的基础) ibatis的sql还是不错的
这个hibernate确实没有,不过我们可以自己写不,哇咔咔
这里就说道了MiniDao,MiniDao的价值,无缝的结合了HIbernate和spring jdbc 而且MiniDao更创新的使用了freemark 来解析sql,这个我们就可以想ibatis甚至超过ibatis在sql里面写逻辑了,
同样的一个创新scott使用了代理和切面,使我们只要写接口就可以,而不用写实现,(这个我感觉灰常不错,我是没有想起来).
这篇文章更多的是自我发现,读者如果没有看明白,笑笑就可以了,
总结下优点:不用配置XML文件,
sql分离
接口自动实现
想想这3个还不足以别人接受Minidao,放弃一个用熟练的框架,不过忽悠新人还是可以的,我的徒弟就被我带着用这个了,而且用的还挺顺手
PS:自己一直疑惑现在代码的分层问题,三层这个我理解,但是后面两层都写接口是什么意思呢
比如数据库我们的接口我感觉就什么用都没有,因为我们的数据库根本就不会换,又谈何使用接口的
biz层我们公司现在是接口省略了,我认为也没有啥意思.如果需要改实现,或者不同的实现这个需要接口,但是大部分都是不会改的,哎乱七八糟的