mybatis 传递参数的方法总结

Posted 钟政123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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无法判断类型导致的错误.

 

 

 

 

 

 

 

  

 

以上是关于mybatis 传递参数的方法总结的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis DAO层传递参数到mapping.xml

Mybatis总结:

Mybatis总结:

Mybatis传递多个参数的4种方式(干货)

关于mybatis的使用之怎么传递参数总结

MyBatis传递参数