bronzestar
2012-07-05 09:58
浏览 709
已采纳

mybatis 调用 mysql 存储过程 返回结果集

存储过程:

create procedure sp_uList(uname varchar(11))
begin
select * from t_user where username like concat('%',uname,'%')
end;

userMapper.xml:

<select id = "uList" statementType="CALLABLE">
{
call sp_uList(
#{uname,mode=IN,javaType=java.lang.String,jdbcType=VARCHAR},
#{users,mode=OUT,javaType=ResultSet,jdbcType=CURSOR,resultMap=UserMap}
)

}
</select>




执行时报错:  java.sql.sqlexception: parameter index of 2 is out of range(1,1)
意思大概就是参数越界,我也能想到是mysql中的存储过程的写法有问题,但查了很多资料,都解决不了。
有没有人能提供 mybatis 调用mysql 中存储过程返回结果集的例子?谢谢!



  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • iteye_878 2012-07-05 10:15
    最佳回答

    procedure 写的不对,应该加一个参数,

    create procedure sp_uList(uname varchar(11), o_result out sys_refcursor)

    begin
    open o_result for
    select * from t_user where username like concat('%',uname,'%')

    end;

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题