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这种是不认的。
其实看有没有方法很简单,找个方法里,随便输入一个就会有提示。