很多大佬说是注解的问题,在对应的ServiceImpl加个@Service就行了,或者差一个@Transactional
也有的大佬是因为在类里面定义了有参构造方法,要自己手动添加一个无参构造方法
- public class A{
- public A(){
- System.out.println("调用了无参的构造函数");
- }
- public A(String mess){
- System.out.println("调用了有参的构造函数\n"+
- "参数内容为:"+mess);
- }
- }
也有的大佬说是什么映射的问题,就是在xml层那个sql语句有点问题
<select id="selectWithMapping" parameterType="int" resultMap="OrderMapping">
select order_id, order_no, order_price
from orders
where order_id = #{id}
</select>
那个parameterType要全大写或者咋地,或者resultType或者resultMap有问题
可惜我都不是
我只是个初学者,当时我的同桌是这么教我的,他说如果你启动报错的话,你就把每个caused by 后面蓝色的你点的动的错误信息都点一遍,你就可以找到你错在哪里了
当时我报错的是ActivityController,ActivityServiceImpl,ActivityMapper
但是我压根没有在这个activity里面干什么,我干的是另一个controller
最后,在caused by后面灰色的点不动的区域里,有一条我刚写的DataController里面的xml,也就是sql文件报错的信息,然后是里面的传输类型错了
综上,同学如果你报了这个错,我建议你把其他的caused by 错误检查下,没准就找到问题了