mal是什么类型对应的java类型是什么,【Java】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值
沒做運算
做了運算
做了聚合運算
int
int
int
int
Map
int
long
BigDecimal
List
int
long
BigDecimal
為什么會出現BigDecimal類型呢,
總結
以上是生活随笔為你收集整理的mal是什么类型对应的java类型是什么,【Java】mysql的 int 类型,刨析返回类型为BigDicemal 类型的奇怪现象...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php的cookie的函数,php se
- 下一篇: 计算MATLAB时间复杂度的例子,学编程