报错信息:
org.apache.ibatis.binding.BindingException: Parameter 'offSet' not found. Available parameters are [0, 1, param1, param2]
由于java没有保存形参的记录,参数offSet会转成arg0之类,高版本(大概在mybatis3.4左右及以后版本)mybatis不允许这样写:
xml:
<select id="queryAll" resultType="Seckill">
select seckill_id,name,number,start_time,end_time,create_time
from XXX
order by create_time desc
LIMIT #{offSet}, #{limit}
</select>
java:
List<XXX> queryAll(int offSet, int limit);
正确写法:
xml:
<select id="queryAll" resultType="Seckill">
select seckill_id,name,number,start_time,end_time,create_time
from XXXX
order by create_time desc
LIMIT #{offset}, #{limit}
</select>
java
List<XXXX> queryAll(@Param("offset") int offSet,@Param("limit") int limit);
注意:
注释中的参数与Java中定义的参数分别为:offset和offSet,这里故意区分一下,我们在xml文件中#{}中一定要是注释中的参数!