思考MyBaties框架下传递和接收参数使用javabean 还是使用map的问题

     最近接收了一个新项目,使用的mybaties作为持久化框架,代码使用mybaties generator自动生成,由于业务需求,需要在某个常用的表(商品表)里面加入几个新的字段,然后噩梦就来了,凡是关联到商品信息的地方,都要改,整个mapper.xml文件又臭又长,需要修改的POJO,mapper配置,sql 语句不下于10处,麻烦至极。

  反观以前做过的项目,除了一些非常必要的地方,比如seesion中存储的用户信息等等,却很少使用POJO来传递和接收数据库数据,基本上是使用了自己封装的一个Map类(名叫DataMap,继承HashMap,新增加了getString getInt getFloat 等等方法,方便获取数据时转型),使用这种方式一来开发新的功能非常方便,基本上不需要写任何的POJO,resultMap 等等一堆东西,二来需要哪些数据sql语句直接取哪些数据,多表关联查询也极为方便,不避为每一种查询结果的数据结构重新写一个POJO,方便灵活,开发效率比起使用POJO接收数据几乎快上一倍,处理一个rest接口的过程基本就是:

  1. 获取接口参数,生成一个DataMap实体,
  2. 对这个DataMap 实体进行业务处理(有需要的话),
  3. 传递这个DataMap实体,作为参数执行sql语句,
  4. 返回一个新的DataMap实体,并直接转换为JSON格式返回。完全不需要任何其它的操作(比如写POJO类,写数据库POJO类映射关系等等),修改业务逻辑也是,只需修改mapper.xml中的sql语句即可,不需要修改其它任何地方。

但是我观察目前大部分的项目,好像大都是使用的POJO类进行的sql参数的传递和结果的接收,百思不得其解,mybateis 相对herbnate,最大的优点就是灵活,简单,方便自己编写sql语句,做针对性的查询,为什么传递参数和接收结果还是要用POJO这种开发和维护起来十分繁琐耗时的东西呢?求大神来帮忙解惑!

   像这种东西,看起来都觉得头疼......

相比使用Map来传值,这种画风看着不是好多了么。。

  我觉得无缘无故大多数人应该也不会放着更简洁方便的做法而不用的,博主水平有限,实在是想不出原因,再次恳求大神来解惑!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值