一、
问题:idea控制台报错信息如下
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.lijinquan.magic.mapper.abcMapper.selectByExample
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:227)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:49)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
at com.sun.proxy.$Proxy87.selectByExample(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
从报错信息 ibatis这个字眼可以看出,这是mybaties的报错
此时,我们只考虑以下几个方面
1.自开始用mybaties开始的位置开始,mapper.xml 实体类的映射关系
2.dao或者mapper(命名习惯不一样)接口和mapper.xml 的对应关系
3.mapper.xml文件中脑袋位置应该有的注解是否加上
4.以上的文件需要具备和关系需要配置好
我一般是从这几个问题点开始排查问题的
二、
接着结合项目报错一步一步排查
1、根据报错内容的关键信息selectByExample,找这个接口,是否真的不存在或者没有对应上
接口和xml是有的
2、接着看实体类映射关系的对应
也是没问题的
3、看看mapper或者dao和当前的mapper接口文件是否对应
问题找到
我是用逆向工程生成这些文件的,从逆向工程复制过来,有些地方因为疏忽,忘记了修改