在 MyBatis 中,<procedure> 元素已经被移除,通过 <select>、<insert> 和 <update> 进行定义:
{ ? = call up_getUsers(userID => ?)}
</select>
</select>
MyBatis 中调用存储过程的方式
{ ? = call up_getUsers(userID => ?)}
</select>
如上所示,通过 statementType 属性将该语句标识为存储过程而非普通 SQL 语句。
============
http://www.iteye.com/problems/52584
<!-- 调用存储过程 -->
<select id="getAllUser" statementType="CALLABLE">
{call
getAllUser(#{userList,<!-- 参数 -->
mode=OUT,<!-- 参数类型 -->
javaType=java.sql.ResultSet,<!-- 参数java类型 -->
jdbcType=CURSOR,<!-- 参数jdbc类型 -->
resultMap=userMap<!-- ResultSet需要resultMap参数 -->})}
</select>