zoukankan      html  css  js  c++  java
  • MyBatis实践笔记(1):sql语句需求接收多个参数时,利用bean对象或Map作为方法入参

    一、编写select/update/delete语句时,如果需要接收多个参数,有以下两种方式:
    • 方法入参使用Object对象,用对象封装多个sql参数。int updateStockCount(UserStock userStock);
    • 方法入参使用Map集合,以key-value的形式封装sql参数。int updateStock(Map map);

      步骤一:编写配置文件:mapper.xml  

    <mapper namespace="com.newbie.dao.UserStockDAO">
        <!-- 使用UserStock对象封装参数,根据账户ID,修改账户余额 -->
        <update id="updateStockCount" parameterType="com.newbie.domain.UserStock">
            update user_stock 
            set count_num = #{countNum,jdbcType=INTEGER}
            where stock_id = #{stockId,jdbcType=VARCHAR}
        </update>
     
        <!-- 使用Map封装参数,根据股票ID,修改股票记录 -->
        <update id="updateStock" parameterType="java.util.Map" >
            update user_stock
            set stock_name= #{stockName,jdbcType=VARCHAR},count_num = #{countNum,jdbcType=INTEGER}
            where stock_id=#{stockId,jdbcType=VARCHAR}
        </update>
    </mapper>

      步骤二:编写数据库操作DAO

    public interface UserStockDAO {
        //根据股票ID,修改股票记录
        int updateStockCount(UserStock userStock);
     
        //根据股票ID,修改股票记录
        int updateStock(Map map);
    }

      步骤三:编写客户端测试代码

    
    
    public void testUpdateByObject(){
    UserStock userStock = new UserStock();
    userStock.setStockId("A-0001");
    userStock.setcountNum(100);
    userStockDAO.updateStockCount(userStock);
    }

    public void testUpdateByMap(){
    Map<String,Object> map = new HashMap<String, Object>();
    map.put("stockId","A-0001");
    map.put("stockName","简小六");
    map.put("countNum",-3900);
    userStockDAO.updateStock(map);
    }
     
  • 相关阅读:
    分治法的经典问题——大整数相乘
    分治法的经典问题——大整数相乘
    L2-013. 红色警报(dfs)
    L2-013. 红色警报(dfs)
    L2-012. 关于堆的判断
    L2-012. 关于堆的判断
    二进制和位运算中的异或
    2015年天勤考研机试模拟赛 A 推断三角形
    怎样利用kettle官方社区查找关于carte服务的设置
    openCV中 libopencv-nonfree-dev的安装: undefined reference to `cv::initModule_nonfree()&#39;
  • 原文地址:https://www.cnblogs.com/newbie27/p/10835373.html
Copyright © 2011-2022 走看看