首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从mysql返回给java的双精度值不正确

从mysql返回给java的双精度值不正确
EN

Stack Overflow用户
提问于 2020-09-11 13:48:36
回答 2查看 486关注 0票数 0

所以我试着从mysql到java中读取一些双精度值。我使用mybatis映射器读取我的值,并将值作为映射返回。

当我在sql中运行查询时,我的值是-42295.8451869851,但是当我使用mybatis从查询中选取相同的值并将其放入java Hashmap中时,值变为{Double@25327}-42295.84518699004。为什么会出现这种异常,我可以做些什么来防止它?

这是我正在使用的mybatis查询行:我正在使用类org.apache.ibatis.session.SqlSession

代码语言:javascript
运行
复制
List<Map<String, Object>> myListMaps =  getSqlSession().selectList(QUERY_NAME, queryParameters);

编辑:在看了一些回复后,我意识到我需要如何使用bigDecimal而不是Double/Float。因此,我将重新定义我的问题,以解决我在这里的目的。有没有办法告诉mybatis某个sql类型要映射到BigDecimal,而不是HashMap中的Double/Float?

我还从sql中提取了其他值,如integervarchar,它们会自动转换为java中所需的integerstring类型,我希望按原样提取它们。只需将双精度数改为bigdecimal即可。

EN

Stack Overflow用户

发布于 2020-09-11 14:04:33

如果需要precision doc,请使用BigDecimal。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63841429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档