要使用MyBatis執行存儲過程,首先需要在MyBatis的Mapper XML文件中編寫一個對應的存儲過程的SQL語句。然后在Java代碼中調用這個存儲過程。
下面是一個示例:
<select id="callStoredProcedure" statementType="CALLABLE">
{call your_stored_procedure_name(#{param1,mode=IN,jdbcType=INTEGER},#{param2,mode=OUT,jdbcType=INTEGER})}
</select>
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
Map<String, Object> parameterMap = new HashMap<>();
parameterMap.put("param1", 123);
sqlSession.selectOne("callStoredProcedure", parameterMap);
Integer result = (Integer) parameterMap.get("param2");
// 處理返回結果
} finally {
sqlSession.close();
}
在這個示例中,我們首先創建了一個參數Map,將輸入參數放入其中,并調用selectOne方法執行存儲過程。執行完存儲過程后,我們可以從參數Map中獲取輸出參數的值。最后,記得關閉SqlSession。
這樣就可以使用MyBatis執行存儲過程了。需要注意的是,不同的數據庫可能有不同的存儲過程語法,需要根據實際情況進行調整。