<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> 为什么可以自动识别#{seckillId} ,#{killTime} ?
int reduceNumber(@Param("seckillId") long seckillId, @Param("killTime") Date killTime);
因为在声明Dao接口的时候添加了mybatis的注解
@Param("seckillId")和 @Param("killTime")
这个注解告诉了mybatis
#{seckillId} ,#{killTime}
分别对应是哪个参数