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);
}
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM