MyBatis中如何执行存储过程
在 MyBatis 中执行存储过程,可以通过使用 select
, insert
, update
, delete
等操作来调用存储过程。下面是一个示例:
- 创建存储过程:
CREATE PROCEDURE get_user(IN id INT)BEGINSELECT * FROM users WHERE id = id;END
- 编写 MyBatis 的 Mapper 文件:
<mapper namespace="com.example.UserMapper"><select id="getUser" statementType="CALLABLE">{call get_user(#{id, mode=IN, jdbcType=INTEGER})}</select></mapper>
- 编写对应的 Java 代码:
public interface UserMapper {User getUser(int id);}
- 调用存储过程:
User user = userMapper.getUser(1);
通过以上步骤,就可以在 MyBatis 中执行存储过程并获得相应的结果。需要注意的是,在 MyBatis 中调用存储过程时,需要使用 CALLABLE
作为 statementType
,并且在参数中指定参数的模式和数据类型。