从 MyBatis 调用过程在 Java 中返回错误的数字结果

问题描述 投票:0回答:0

我尝试使用带注释的 MyBatis,但无法得到正确的结果。

最初我尝试了这条路

@Select("{ #{result, javaType=BigDecimal, jdbcType=NUMERIC, mode=OUT} = call df_test.convert( "
            + "#{amount, javaType=BigDecimal, jdbcType=NUMERIC, mode=IN},"
            + "#{sourceCurrency, jdbcType=NUMERIC, mode=IN},"
            + "#{targetCurrency, jdbcType=NUMERIC, mode=IN},"
            + "sysdate )}")
    @Options(statementType = StatementType.CALLABLE)
    public void con1(CurrencyConverterEntity inOut);

然后我就这样尝试了

 @Select("select df_test.convert('10', '840', '978',sysdate) from dual")
    @Options(statementType = StatementType.CALLABLE)
    @ResultType(BigDecimal.class)
    public BigDecimal con2();

我正在获取结果,但不精确。相反,例如 DECIMAL 4.734 我得到了 5。

当我从 Sql 开发人员处调用时,程序工作正常。

我的batis注释有问题吗?

java mybatis spring-mybatis
© www.soinside.com 2019 - 2024. All rights reserved.