MyBatis 出现参数绑定异常 Parameter 'start' not found. Available parameters are [0, param1, param2, state]
下面是部分代码
bean(提供了get set方法):
private Integer start;//起始记录
private Integer end;//结束记录
private Integer pageNumber;//当前页号
private Integer pageSize;//每页显示记录数
private Integer count;//总记录数
private Integer totalPage;//总页数
private List<E> data=new ArrayList<E>();//存储数据
public Integer getStart() {
start=((pageNumber-1)*pageSize)+1;
return start;
}
public void setStart(Integer start) {
this.start = start;
}
dao接口
public void getWorksByStatePage(PageBean<Work> pageBean,@Param("state")String state);
XML映射文件
这里是调用Oracle存储过程完成的分页
<select id="getWorksByStateAndUserIDPage" statementType="CALLABLE" >
{call getWorksByStatePageAndUserId(
#{start,mode=IN,jdbcType=INTEGER},
#{end,mode=IN,jdbcType=INTEGER},
#{state,mode=IN,jdbcType=VARCHAR},
#{userID,mode=IN,jdbcType=INTEGER},
#{count,mode=OUT,jdbcType=INTEGER},
#{data,mode=OUT,jdbcType=CURSOR,javaType=ResultSet,resultMap=pageWork}
)}
</select>
<!-- data指定封装规则(WORK表) -->
<resultMap type="cn.myapp.qcs.work.po.Work" id="pageWork">
<!-- 数据库 类变量 -->
<id column="WORKID" property="workId"/>
<result column="ISREAD" property="isRead"/>
<result column="ACATIVITY" property="acativity"/>
<result column="CUSID" property="cusId"/>
<result column="DES" property="des"/>
<result column="USERID" property="userID"/>
<result column="STATE" property="state"/>
<result column="CREATEDATE" property="creatDate"/>
<result column="RECEIVEDATE" property="receiveDate"/>
<result column="COMPLETEDATE" property="completeDate"/>
</resultMap>
我在想是不是接口那里同时传入对象和String造成取不到值的问题,但是@Param("pageBean")加上以后XML用#{pageBean.start}的形式会有406错误
已经改好了
对象和普通参数一起使用要用@Param("pageBean") XML使用#{pageBean.start}
或者XML直接用#{0.start}的形式取值
后来报的406是因为springmvc的问题
参考http://blog.csdn.net/aosica321/article/details/73471320解决的