MyBatis 是一个持久层框架,可以使用 XML 或注解的方式配置映射语句来执行存储过程。
首先,需要在 mybatis 的配置文件中配置数据库连接信息。然后,在映射文件中编写 SQL 语句,使用 <select>
标签来调用存储过程。
例如:
<select id="callProcedure" statementType="CALLABLE">
{call myProcedure(#{param1,mode=IN,jdbcType=INTEGER},#{param2,mode=OUT,jdbcType=VARCHAR})}
</select>
在代码中调用存储过程:
SqlSession sqlSession = sqlSessionFactory.openSession();try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("param1", 1);
params.put("param2", "hello");
sqlSession.selectOne("callProcedure",params);
System.out.println(params.get("param2"));
} finally {
sqlSession.close();
}
需要注意的是,使用存储过程需要在数据库中先创建存储过程,并且在调用时需要传入正确的参数。