ibatis使用JavaBean做结果映射

在使用ibatis的时候很多人都不会去用ibatis的resultMap做映射,即使有,也可能是因

为需要做对象关系关联,或者是因为需要调用存储过程而使用的,当然如果需要使用ibatis

的类型转换(比如需要确定输出的date格式等等)的可能会使用resultMap,但很多经常的

情况是我们直接使用javabean做结果映射!因为这样不用再写resultMap到javabean的映

射了!呵呵,以前一直是这样以为的,但今天调试了个奇怪的bug,才对resultMap的又一作

用有了深刻的认识,毕竟它浪费了我一个来小时!所以写出来让自己记住!


在使用javabean做结果映射的时候,即使该值已经被查询出来而该字段却没有在对应的

javabean里面被定义,在编译运行上,ibatis都不会提示有任何的错误,只会默默的忽略

掉这个字段的值!这个会因为一点小的错误,导致很隐蔽的bug,因为程序员都深信自己的程

序是对的,尤其是这样的bug到测试后期才被提出!

这里再一次对上次在圈子里面提过的讨论做一个强调,当时因为不知道为什么自动生成的类有什么样的作用,为什么不能去修改,所以决定去修改试试看,开始以为如果只是因为修改数据库字段所以才不让修改理由似乎有点勉强,所以决定自己去试验下!


现在深刻体会到不要在自动生成类里面去写代码的道理,首先,在数据改动后要自己修改sqlmap和对性的javabean就会让自己很不爽!更加关键的是,很多时候真的很希望自己能够在程序中就有根数据表的一份映射。而在自动生成的类中写入了自己的代码,比如加入了自己的字段,以适应自己的查询的输入或输出!

最后程序变得很乱,代码不能得到很好的组织,对一个功能整体抽取不出一份代码!现在基本都建立自己的类,然后让自己的类去包含自动生成的javabean!这样在代码中保存了跟数据库的映射,同时也能够快速适应数据库的修改。

为曾经的年轻付出了代价。。。。。。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值