码迷,mamicode.com
首页 > Web开发 > 详细

ibatis参数传递小技巧 - 疯狂的菠菜 - ITeye技术网站

时间:2014-12-08 21:19:37      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   os   使用   sp   for   

ibatis参数传递小技巧 - 疯狂的菠菜 - ITeye技术网站使用ibatis操作数据库的时候, 如果这个操作需要一些参数, 一般我们会使用map将这些参数封装起来, 然后调用SqlMapClient或者SqlMapClientTemplate的update, insert, queryForXxx方法. 每次构造这个map, 重复性的东东比较多, 于是改进了一下. 在基类DAO中构建了一个内部类:
Java代码 ?bubuko.com,布布扣
  1. /**?
  2. *?用来封装多个参数,?并实现连接操作?
  3. *??
  4. ?*/??
  5. protected?static?class?Parameter?extends?HashMap<String,?Object>?{??
  6. ????private?static?final?long?serialVersionUID?=?-1756000414146772526L;??
  7. ??
  8. ????public?Parameter?addParameter(String?key,?Object?value)?{??
  9. ????????this.put(key,?value);??
  10. ????????return?this;??
  11. ????}??
  12. }??

然后在基类中加一个createParameter()方法用来给子类调用, 添加key-value的参数:
Java代码 ?bubuko.com,布布扣
  1. /**?
  2. ?*?用于支持连写?
  3. ?*?@param?key?
  4. ?*?@param?value?
  5. ?*?@return?
  6. ?*/??
  7. protected?static?Parameter?createParameter(String?key,?Object?value)?{??
  8. ????return?new?Parameter().addParameter(key,?value);??
  9. }??

具体使用:
Java代码 ?bubuko.com,布布扣
  1. public?int?update(String?id,?int?quantity)?throws?DAOException?{??
  2. ????Parameter?parameter?=?createParameter("id",?id)??
  3. ????????????.addParameter("quantity",?quantity);??
  4. ????return?executeUpdate(getSqlId("update"),?parameter);??
  5. }??

如果是原来的话, 需要这样写:
Java代码 ?bubuko.com,布布扣
  1. public?int?update(String?id,?int?quantity)?throws?DAOException?{??
  2. ????Map<String,?Object>?parameter?=?new?HashMap<String,?Object>();??
  3. ????????????parameter.put("id",?id);??
  4. ????????????parameter.put("quantity",?quantity);??
  5. ????return?executeUpdate(getSqlId("update"),?parameter);??
  6. }??

其实也没什么, 只是有时候我这个人比较懒, 少打了几个字而已.



ibatis参数传递小技巧 - 疯狂的菠菜 - ITeye技术网站

标签:style   blog   http   io   ar   os   使用   sp   for   

原文地址:http://www.cnblogs.com/wang3680/p/461eb7e6be356af54ee39e64ae1e899e.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!