MyBatis dao层 方法传参

时间:2022-04-06 21:07:20

MyBatis dao层 方法传参有三种方法。

1. 以下标的方法获取参数。

 <update id="insertSuccessKilled">
       INSERT ignore INTO success_killed(seckill_id,user_phone,state)VALUES (#{0},#{1},1)
 </update>

2. 以map作为dao方法中的参数,通过使用key和类型来获取参数。

< select id= " selectUser" resultMap= "BaseResultMap" >
    select  from user_user_t   where user_name = #{userName,jdbcType= VARCHAR } and user_area=#{userArea,jdbcType= VARCHAR }
</ select >

Service层调用

Private User xxxSelectUser(){
Map paramMap=new hashMap();
paramMap.put(“userName”,”对应具体的参数值”);
paramMap.put(“userArea”,”对应具体的参数值”);
User user =xxx. selectUser(paramMap);}

3. 在dao方法中的参数里通过增加@Param("param"),在mapper中引用param来获取参数。

<update id="reduceNumber">
        <!-- 具体sql -->
        update
            seckill
        set
            number = number-1
        where seckill_id = #{seckillId}
        and start_time <![CDATA[ <= ]]> #{killTime}
        and end_time >= #{killTime}
        and number > 0;

</update>