mybatis 傳遞參數的方法總結


  有三種mybatis傳遞參數的方式:

第一種

mybatis傳入參數是有序號的,可以直接用序號取得參數

User selectUser(String name,String area);

可以在xml配置文件中寫

<select id="selectUser" resultMap="BaseResultMap">
    select  *  from user_user_t   where user_name = #{0} and user_area=#{1}
</select>

#{0} 表示傳遞過來的第一參數 . 也就是說#{N} 就可以獲得傳遞過來的第N+1個參數

  第二種 直接傳遞過來的是一個封裝好的對象,無論Map,還是普通的object 或者是自己寫的對象

    void addMembershipCard(MembershipCard membershipCard);

xml配置如下

<insert id="addMembershipCard" parameterType="MembershipCard">
        insert into membership_card(id,user_id,shop_id,receive,create_tm)
        values(#{id},#{userId},#{shopId},0,now())
    </insert> 

第三種是:利用注解

下面是別人例子

Public User selectUser(@param(“userName”)Stringname,@param(“userArea”)String area);
<select id=" selectUser" resultMap="BaseResultMap">
   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>

這樣的方式比較直觀,並且不用作太多其他的工作.如果參數數量比較少的話,建議用這個.

 

關於 jdbcType 一般用於數據插入的時候,防止為null無法判斷類型導致的錯誤.

 

 

 

 

 

 

 

  

 


免責聲明!

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



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