zoukankan      html  css  js  c++  java
  • ibatis参数传递小技巧

    ibatis参数传递小技巧 - 疯狂的菠菜 - ITeye技术网站使用ibatis操作数据库的时候, 如果这个操作需要一些参数, 一般我们会使用map将这些参数封装起来, 然后调用SqlMapClient或者SqlMapClientTemplate的update, insert, queryForXxx方法. 每次构造这个map, 重复性的东东比较多, 于是改进了一下. 在基类DAO中构建了一个内部类:
    Java代码  收藏代码
    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代码  收藏代码
    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代码  收藏代码
    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代码  收藏代码
    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. }  

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



  • 相关阅读:
    python -- 初始函数 函数的定义,函数的返回值以及函数的参数
    python 文件操作: 文件操作的函数, 模式及常用操作.
    第三节 深入JavaScript
    第二节 JavaScript基础
    第一节 JavaScript概述
    面试大纲
    flask
    面试准备
    数据结构与算法 学习
    Linux学习
  • 原文地址:https://www.cnblogs.com/wang3680/p/461eb7e6be356af54ee39e64ae1e899e.html
Copyright © 2011-2022 走看看