5.项目启动时报错Type handler was null on parameter mapping for property 'userId'.
原文:https://blog.csdn.net/u014763172/article/details/47806521
原因: 表列属性与实体属性对应不上.传递出错.出现此类问题,检查提示的property属性名所出现的地方.
4.类型对应写法json写法
private String getTrandMode(String trandMode){
String regTypeJson = "{1:\"06\",9:\"08\"}"; //a->b类型对应关系
Map regTypeMap = JSONObject.parseObject(regTypeJson); //json转Map
if (regTypeMap.containsKey(trandMode)) //进行比较处理
{
trandMode = regTypeMap.get(trandMode).toString();
}
return trandMode;
}
-------------------------------------------------------------------------------------------------------------
3.异常"There is no getter for property named 'id' in class 'java.lang.String'"
原因: 在开发中,还是偷懒,就在mapper.xml中将多出来的参数没有删掉,导致该异常.(说不明白,上图)
Dao文件:
mapper.xml文件:
-------------------------------------------------------------------------------------------------------------
2.异常"could not set property 'doctype' of..."
情景: 在项目维护二次开发时,修改 Mybatis 的 Mapper.xml 文件,且项目不报错;但是运行时报错;
原因: 在开发时,自己偷懒,直接使用了别人之前写的实体类. 来与作为数据库表的封装实体类. 结果对应不上(即表字段与实体类字段匹配不上,
报此错).
解决办法: 数据库表字段与实体类字段一一对应, 如果实体类字段更多或者实体类字段更多, 则将不对应(多出来的)字段删去,在 mapper,xml 中
形成一个结果集.(如图: 将不对应的字段去除即可)
建议: 最好不要偷懒,重新写一个实体类,来作为表的封装实体. (但是,有时候不得已,则只好如上操作.)
-------------------------------------------------------------------------------------------------------------
1.情景: document中的某个节点的值类似于document的节点形式,即含有"<a>...</a>"这样的形式作为值.使用asXml()方法将document转化为String时,
出现值中的"<"和">"分别被转义为"<"和">";导致异常.需处理.
方法1: /* 当使用Document方法asXml()时,非节点中有 "<" 和 ">" 时,会对其进行转义成 "<" 和 ">",故此进行处理 */ String checkParamsData = checkParams.value(); if (!checkParamsData.isEmpty()){ String str1 = checkParamsData.replaceAll("<", "<"); String str2 = str1.replaceAll(">", ">"); checkParamsData=str2; } 方法2: String str="a%sc"; str=String.format(要格式化的数据str,占位值1) 例:
String payResult = "<paytype>%s</paytype><termid>%s</termid><tradeno>%s</tradeno><tradeamt>%s</tradeamt><tradetime>%s</tradetime><biztype>%s</biztype><memo>%s</memo>"; payResult = String.format(payResult, payType, params.get(ParamsKeyConstant.OPER_ID), params.get(ParamsKeyConstant.TRANS_NO), selfFee, params.get(ParamsKeyConstant.TRADE_TIME), bizType, "");