我尝试使用带注释的 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注释有问题吗?