前言
报错信息:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method (com.sinotrans.framework.orm.mybatis.dao.BaseMapperProvider.update). Cause: java.lang.reflect.InvocationTargetException
一、错误信息:
报错信息:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method (com.sinotrans.framework.orm.mybatis.dao.BaseMapperProvider.update). Cause: java.lang.reflect.InvocationTargetException
如图所示:
在做数据库修改时调用封装的update方法时提示以上错误,搜到的结果大多说是嵌套调用之类的,后来检查发现,数据口有一个字段名字是****get,封装方法时获取字段名称调用方法:addModelValidField会自动去除getter方法名中的所有get字符串,导致去除后获取的字段名与数据库字段名称不一致导致报错,
二、修改方法
修改/重写对应的去除get前缀方法改replace为replaceFirst,只去除前缀的get,然后就完美解决啦!