mapper查询返回list<map<String,Object>> double类型值是0
时间: 2024-09-21 21:09:55 浏览: 29
在SpringBoot中怎么注入各种类型(String,List,Map,Object)配置?
当你在mapper查询中得到一个List<Map<String, Object>>的结果集,并且其中某个double类型的值表示为0,这通常是因为数据库存储的是数值0,而Map默认会将数字0转换为Double类型。在Java中,0作为Double类型会被认为是一个有效的0.0。
例如,如果你有一个SQL查询:
```sql
SELECT id, price AS 'price_in_double' FROM table;
```
然后在Mapper接口中的方法可能是这样的:
```java
List<Map<String, Object>> selectListBySomeCondition();
```
如果查询结果中有价格字段(price_in_double)为0,它会在返回的map中表现为`{"price": 0.0}`。
如果你想处理这种场景,可以添加一些条件检查或转换:
```java
for (Map<String, Object> map : selectListBySomeCondition()) {
Double price = (Double) map.get("price");
if (price == 0) {
// 这里你可以选择其他操作,比如打印日志、转换成String等
System.out.println("Price is zero: " + price);
}
}
```
阅读全文