Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType.INT

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这种是不认的。

其实看有没有方法很简单,找个方法里,随便输入一个就会有提示。

 

posted @ 2020-12-04 15:19  jiduoduo  阅读(1487)  评论(0编辑  收藏  举报