Spring boot ibatis調用存儲過程
因為有個查詢比較復雜,需要過渡幾次,通過幾個臨時表才可以解決。
當然也有一次性查詢的,分幾次寫,比較清晰,而且思路明確。
那就寫個存儲過程,帖個簡單的:
CREATE DEFINER=`root`@`localhost` PROCEDURE `pGetSjRpt`( in year int, in code varchar(50), in id int) BEGIN select * from sj where year=year; END
那么如何才能夠調起這個過程過程:
@Options(statementType = StatementType.CALLABLE) @Select( "call pGetSjRpt(#{year,mode=IN,jdbcType=INTEGER}," +"#{code,mode=IN,jdbcType=VARCHAR}," +"#{id,mode=IN,jdbcType=INTEGER})" ) @Results({ @Result(property = "id", column = "id"), @Result(property = "year", column = "year"), @Result(property = "name", column = "name"), @Result(property = "code", column = "code"), @Result(property = "zyme", column = "zyme"), @Result(property = "zyode", column = "zyode") }) List<SjInfo> getSjPage();
因為一開始寫成
year,mode=IN,jdbcType=INT
INT,STRING這種是不認的。
其實看有沒有方法很簡單,找個方法里,隨便輸入一個就會有提示。