SEVERE: Servlet.service() for servlet [MES] in context with path [/MES] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating class td.young.smp.entity.TSM_QPM_Q001 with invalid types () or values (). Cause: java.lang.NoSuchMethodException: td.young.smp.entity.TSM_QPM_Q001.<init>()] with root cause
java.lang.NoSuchMethodException: td.young.smp.entity.TSM_QPM_Q001.<init>()
究竟是为什么啊?不要和我说struts2的问题我就没有用这个框架,用的是ssm的。。
看看父类是不是抽象的,是的话要全部重写,看看漏掉了什么吗
回答错人了 ,不好意思
可能是没有掉super 这样相当是自己重写 是拿不到父类的
是不是用到实体类的那个方法,定义参数有问题啊
别的先不说,你这些类名起的还这是。。。。
没看懂,哪行代码报错啊。项目启动的时候报错啊?
你这个init初始化的时候就已经报错了,我建议你看看两个地方:
1.子类调用是不是用的supper
2.是不是提供了有参数的构造方法就去掉了无参数的构造方法了
因为代码不全,所以只能有这两个猜测
你这个是ibatis 方向的问题,你看看,你向这个方向去考虑,考虑下是否重置了构造器,导致无参构造器被替换掉,Ibatis在创建bean映射的时候需要无参的构造其来构造对象,然后才进行赋值操作
还有一个就是映射关系 再检查一下,已尽力 好评
继承了父类的getset但是子类里没有重新定义变量.是不是这个原因,父类里的变量都是private的
是的 检查一下还有没有无参构造吧
这个异常出在你的数据库字段和实体类字段上面,是由于映射导致的问题,所以提示的是没有找到方法异常
代码不完整不好说什么问题,只能猜,看看是不是xml里面配置resultMap的时候是不是用到构造函数
如果不知道具体写哪些就把有参无参构造、get、set方法都写上,也没什么影响。
继承父类的getset,子类里没有重新定义父类里的变量都是private
方法找不到。
如果方法存在的话
就重新部署一下重新启动项目
没有提供空参构造函数吧
回答:你这是mybatis的问题,异常显示是,没有找到相应的方法,你首先看看你的控制层-服务层分别调用的方法的方法名,函数名,在dao层是否存在当前的函数名,没有 就会提示这个没有找到方法的异常信息。
1.检查action层是否存在该方法
2.检查该方法是否为 public
3.检查此方法是否传了参数,
请把 long id 删除
4.检查jar包
上述还未解决问题
清理缓存,重新部署项目即可
你写的类名是C++风格的,不符合JavaBean规范,出现这个问题,应该是你的无参构造缺失造成的,而且我们无法知道你是否有实现其他的构造器
mybatis映射配置了吗?或者用没用到注解,用到的话应该加上@Entity注解的
看看你的构造方法写了吗,写的什么样的,
是不是在子类中没有写无参构造方法引入父类super()呀
没有空的构造方法
Deployment Assembly
你看看吧