在项目中遇到问题:ibatis.binding.BindingException: Parameter 'xxx' not found.
手动编写mybatis的SQL代码时,如果只在mapper中编写SQL语句,则会报如题错误。
mapper中的
<select id="findBetweenTS" resultMap="BaseResultMap">
SELECT t.* FROM push_message t WHERE
t.ts >= #{start} AND #{end} >= t.ts
ORDER BY t.ts
</select>
说明:在数据库表中,并没有start的属性列和end 的属性列,当我们没有在dao层接口声明参数属性时,则会自动匹配调用{0,1,param0,param1},如果没有与之匹配,则报错。
解决方案:
public List<Pushmessage> findBetweenTS(@Param("start")String start,@Param("end")String end)throws Exception;
说明:引入@Param的包为org.apache.ibatis.annotations.Param;