案例:
假设dao类里有一个查询所有订单的方法:
List<Order> queryAll(int offset, int limit);
对应的mapper sql内容如下:
<select id="queryAll" resultType="Order">
select order_id,name,start_time,end_time,create_time
from order
order by create_time desc
limit #{offset},#{limit}
</select>
这里,程序跑起来是会报错的。因为java没有保存形参的记录,dao类里形参是int offset, int limit,但传入到mapper后,可能形参变成了int arg0, int arg1,导致#{offset},#{limit}失效,因为offset和limit不存在了。
解决办法:
只需在dao类的方法加上@param注解说明下即可。
List<Order> queryAll(@Param("offset") int offset, @Param("limit") int limit);