最开始对mybatis的认识,仅能传递一个参数。开发中我们一般都使用model作为参数传递, 这样在mapp.xml文件中可以通过对象调用“.”的方式将参数设置到sql的指定区域, 但是例如分页,可能是只传递2个参数,这时候在去构造一个集合感觉有点麻烦,后来试了试,mybatis是支持传递多个参数的。做了实验,在sql中使用错误的参数,获取当前可用参数的集合。
步骤:
1. mapper方法传递三个参数,
public List<Movie> queryMovieList(int i, int j, int k);
2. 在sql中使用任意一个参数()。
<mapper namespace="com.changez.sm.mapper.MovieMapper">
<select id="queryMovieList" parameterType="int" resultType="movie">
<![CDATA[
select * from (select ti.*, rownum rn from t_movie ti where rownum < #{1}) t where t.rn >= #{4}
]]>
</select>
</mapper>
3. 当参数不可用时,会报错,并提示出来可用的参数列表,标红部分为提示的当前可用参数,可以看出, 能使用下标的方式获取参数
org.apache.ibatis.binding.BindingException: Parameter '4' not found. Available parameters are [2, 1, 0, param1, param2, param3]