技术随笔之手写jdbc→ibatis的思想斗争

琢磨着山寨公司的“轩辕剑”(人员管理软件),既不要耗费太多时间,又能功能完善,还真不容易,而且一想到jdbc的那些代码,我就有些不舒服……
于是,想到了用框架……
框架再怎么牛X到了下面还不是手写jdbc,手写jdbc通过原子操作一点点地进行着数据库的数据搬运工作(java ↔ mysql)。虽然用手写jdbc可以精确地控制流程,但是类似的代码,一而再再而三的重复,哥有些受不鸟了。不如看看框架吧,ibatis貌似在公司很流行,虽然之前弄过一阵hibernate,但是纯粹是为了myeclipse中hibernate的逆向工程,代码看起来疼得要命,麻烦得不行了都……今天看了看ibatis,发现还真的很简单。配置一个驱动,驱动里面给一个地址指向要操作的数据对象对应的sqlmap,sqlmap里把sql语句配好,OK可以去调用了。Java→mysql的set工作交给ibatis,mysql→java的解析工作也可以交给ibatis,少写多少代码呀~!但是猛的发现不是那么回事儿,公司的代码有好几层,BaseDAO→ADAO→implement ADAO→调用sqlmap,前面突然多了3层….有不懂问师兄,师兄给讲了半天的业务需要,当扩展的时候修改sqlmap调用不好使,那好多一层implement ADAO,ADAO这个接口干嘛用?虽然说BaseDAO里面可以用来写公共的抽象方法,ADAO里面可以写ADAO独有有的抽象方法,但是我为什么要这样做?我直接用implementADAO来实现BaseDAO不就完了?师兄也觉得用功能扩展的理由不能打发我了,他猛地一拍大腿:“我们调用的时候通过接口来实现动态联编,防止我们的实现类被暴露。”原来是解决安全问题。还有,如果有一天ibatis收费了,要改用别的框架,只需要去重新写一套implementADAO就行了,因为只有implement这一层才是和ibatis才是直接和框架打交道的。如果迁数据库呢,只需要该配置文件就好了。为了让自己的程序更为健壮,多出来这么多东西……如果不需要那么好的安全性,不需要那么好的扩展性,其实有sqlmap就够了….
仅以此小记来说说我们那些看似麻烦却有必要的活儿~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值