mybatis使用Map映射mysql结果集,关于字段的问题

--mysql常用字段类型如图

mybatis使用Map<String,Object>映射mysql结果集,关于字段的问题

--mybatis使用Map<String,Object>映射,会将tinyint映射成Integer类型、decimal映射成BigDecimal类型

所以程序在处理这些字段时,需要做个强转操作,例如

Map<String, Object> orderDetails = getOrderMapById(orderId);// 获取本系统订单的相关信息
String paySta = (Integer)orderDetails.get("PAY_STATUS")+"";
String payWay = (Integer)orderDetails.get("PAY_STATUS")+"";
String cancelSta = (Integer)orderDetails.get("CANCEL_STATUS")+"";

--总结最好使用自定义实体进行映射,利于代码的维护