Mybatis 提示java.math.BigDecimal cannot be cast to java.lang.Integer

今天在编写统计模块时,出现如下错误信息:

java.math.BigDecimal cannot be cast to java.lang.Integer

核心代码:

接口定义

List getSum(Map paramter);

service 实现:

      List sum = fileMapper.getSum(paramter);
			sum.stream().forEach(item ->{
				
				if(item.get("drawNum") != null){
					BigDecimal drawNum = (BigDecimal) item.get("drawNums");
					result.put("drawNum", drawNum.longValue());
				}
				if(item.get("baseNum") != null){
					BigDecimal baseNum = (BigDecimal) item.get("baseNums");
					result.put("baseNum", baseNum.longValue());
				}
				if(item.get("photoNum") != null){
					BigDecimal photoNum =(BigDecimal) item.get("photoNums");
					result.put("photoNum", photoNum.longValue());
				}
				if(item.get("negativeNum") != null){
					BigDecimal negativeNum = (BigDecimal) item.get("negativeNums");
					result.put("negativeNum", negativeNum.longValue());
				}
			});

错误原因:

mysql sum() 函数的结果映射为 java.math.BigDecimal ,不能直接转换为java.lang.Integer 或者是java.lang.Long类型

你可能感兴趣的:(MyBaties(基础篇))