mysql int和bigdecimal,mysql的 int 类型,刨析返回类型为BigDicemal 类型的奇怪现象
用的是Map,List>接收,
sql语句中int类型的值做了聚合运算,
满足上述两个条件。
java中去取value的值就会变成BigDecimal 类型
经过实测:mybatis 中的sql语句int类型 java接收的几种情况。
实测案例:
1.用resultType="int" (返回类型用int)
1.1 如果 resultType="int", id 没做运算,
select id from ting_cmdb_physical_equipment where id=2897;
显示结果,java可以用 int 接收。
1.2 如果 resultType="int", id 做运算,
select id-1 as id
from ting_cmdb_physical_equipment where id=2897;
显示结果:java可以用int接收
1.3 id 做聚合运算
select sum(id) as id
from ting_cmdb_physical_equipment where id=2897;
运算结果:java可以用int接收
2.用resultType="map"(返回类型用Map)
2.1 id没做运算
select id from ting_cmdb_physical_equipment where id=2897;
运算结果:java可以用int 接收
2.2 id做运算
select id-1 as id
from ting_cmdb_physical_equipment where id=2897;
运算结果:java要用long类型接收
2.3 id做聚合函数运算
select sum(id) as id
from ting_cmdb_physical_equipment where id=2897;
运算结果:java用BigDecimal接收
3.resultType="map" (返回类型用list>)
3.1 id没做运算
select id as id
from ting_cmdb_physical_equipment where id=2897;
运算结果:java可以用int接收
3.2 id做运算
select id-1 as id
from ting_cmdb_physical_equipment where id=2897;
运算结果java可以用long接收
3.3 id做聚合运算
select sum(id) as id
from ting_cmdb_physical_equipment where id=2897;
运算结果:java可以用BigDecimal接收
总结类型\int值没做运算做了运算做了聚合运算intintintint
MapintlongBigDecimal
ListintlongBigDecimal
为什么会出现BigDecimal类型呢,
mysql int和bigdecimal,mysql的 int 类型,刨析返回类型为BigDicemal 类型的奇怪现象相关推荐
- mal是什么类型对应的java类型是什么,【Java】mysql的 int 类型,刨析返回类型为BigDicemal 类型的奇怪现象...
用的是Map,List>接收, sql语句中int类型的值做了聚合运算, 满足上述两个条件. java中去取value的值就会变成BigDecimal 类型 经过实测:mybatis 中的sql ...
- mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度
存储宽度 是实际存储记录宽度 存储宽度默认是写死的,就算修改宽度也改变不了,改变的是显示宽度 ============有符号和无符号int============= 创建一个 无符号的 int 整数类 ...
- Mysql中的varchar类型转换成int类型
Mysql中的varchar类型转换成int类型 1.实战案例 1.1 student表结构 mysql> desc student; +----------+-------------+--- ...
- mysql int类型需要指定长度_mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?...
原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...
- mysql Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
使用mysql的时候,用到int类型的蛮多,需要注意一下: 1. 值的范围 Type Storage Minimum Value Maximum Value (Bytes) (Signed/Uns ...
- mysql中tinyint、smallint、int、bigint的区别介绍
tinyint 从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据.存储大小为 1 个字节. unsigned 是从 0 到 255 的整型数据. 所以建表的时候 只能是tinyi ...
- int mysql_「MYSQL」MYSQL中的int(11)到底代表什么意思?
一.前言 在工作中经常要与mysql打交道,但是对mysql的各个字段类型一直都是一知半解,因此写本文总结记录一番. 二.简介 对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用 ...
- 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识
摘要:char类型字段想走索引的话,必须用引号括起来.如果是时间戳等类型的纯数字,建议还是存为int型吧. 本文分享自华为云社区<一次事故,我对MySql时间戳存char(10)还是int(10 ...
- 用通俗易懂的大白话彻底搞明白mysql的数据类型以及mysql中的int(11),这个11到底是啥?
今天抽时间来讲一下mysql里的知识点,之前有不少人问过我,mysql中的int(11),这个11到底是啥意思?是11位的意思吗?你是否也想过这个问题,是否也有这个疑问? ok,今天就展开来讲一下,用 ...
最新文章
- 为什么Google会优先使用while(1); 他们的JSON响应?
- 谷歌希望通过 Adiantum 为更多人提供加密功能
- java 模式匹配算法_用Java匹配模式
- android fastjson漏洞_【漏洞预警】Fastjson 远程代码执行漏洞(暂无PoC)
- Qt OpenGL 问题总结
- [分享] 精神崩溃的老鼠
- IntelliJ IDEA中快捷键大全+出现的问题
- 每个Java学习者都会犯的10大常见错误1
- Android安全笔记-Intent和PendingIntent基本概念
- 19 MM配置-BP业务伙伴-定义编码范围
- 软银三亿重金押注的RPA到底是什么,它能取代人力吗?
- Scala入门(一):直接在eclipse上安装Scala IDE
- Spring 整合 Redis
- 如何绘制逻辑图 — 8.逻辑的表达:数据逻辑
- ros参数服务器调用_ROS路由与秒开缓存服务器对接时如何设置使用
- 微信永久封号怎么解封?微信社交场景被限制解决办法
- 成长型思维和固定型思维
- 感恩节(11.28)
- C语言简单递归实现字符串逆序输出
- <STM32F103ZET6>通过串口更新flash字库(包括LVGL字库烧写)