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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM