org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.taotao.search.mapper.SearchItemMapper.getSearchItemList
at org.apache.ibatis.binding.MapperMethod
S
q
l
C
o
m
m
a
n
d
.
<
i
n
i
t
>
(
M
a
p
p
e
r
M
e
t
h
o
d
.
j
a
v
a
:
189
)
a
t
o
r
g
.
a
p
a
c
h
e
.
i
b
a
t
i
s
.
b
i
n
d
i
n
g
.
M
a
p
p
e
r
M
e
t
h
o
d
.
<
i
n
i
t
>
(
M
a
p
p
e
r
M
e
t
h
o
d
.
j
a
v
a
:
43
)
a
t
o
r
g
.
a
p
a
c
h
e
.
i
b
a
t
i
s
.
b
i
n
d
i
n
g
.
M
a
p
p
e
r
P
r
o
x
y
.
c
a
c
h
e
d
M
a
p
p
e
r
M
e
t
h
o
d
(
M
a
p
p
e
r
P
r
o
x
y
.
j
a
v
a
:
58
)
a
t
o
r
g
.
a
p
a
c
h
e
.
i
b
a
t
i
s
.
b
i
n
d
i
n
g
.
M
a
p
p
e
r
P
r
o
x
y
.
i
n
v
o
k
e
(
M
a
p
p
e
r
P
r
o
x
y
.
j
a
v
a
:
51
)
a
t
c
o
m
.
s
u
n
.
p
r
o
x
y
.
SqlCommand.<init>(MapperMethod.java:189) at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43) at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51) at com.sun.proxy.
SqlCommand.<init>(MapperMethod.java:189)atorg.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)atorg.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)atorg.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)atcom.sun.proxy.Proxy32.getSearchItemList(Unknown Source)
at com.taotao.search.service.impl.SearchServiceImpl.importAllSearchItem(SearchServiceImpl.java:24)
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:302)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor
1.
p
r
o
c
e
e
d
W
i
t
h
I
n
v
o
c
a
t
i
o
n
(
T
r
a
n
s
a
c
t
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
j
a
v
a
:
99
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
t
r
a
n
s
a
c
t
i
o
n
.
i
n
t
e
r
c
e
p
t
o
r
.
T
r
a
n
s
a
c
t
i
o
n
A
s
p
e
c
t
S
u
p
p
o
r
t
.
i
n
v
o
k
e
W
i
t
h
i
n
T
r
a
n
s
a
c
t
i
o
n
(
T
r
a
n
s
a
c
t
i
o
n
A
s
p
e
c
t
S
u
p
p
o
r
t
.
j
a
v
a
:
281
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
t
r
a
n
s
a
c
t
i
o
n
.
i
n
t
e
r
c
e
p
t
o
r
.
T
r
a
n
s
a
c
t
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
i
n
v
o
k
e
(
T
r
a
n
s
a
c
t
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
j
a
v
a
:
96
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
a
o
p
.
f
r
a
m
e
w
o
r
k
.
R
e
f
l
e
c
t
i
v
e
M
e
t
h
o
d
I
n
v
o
c
a
t
i
o
n
.
p
r
o
c
e
e
d
(
R
e
f
l
e
c
t
i
v
e
M
e
t
h
o
d
I
n
v
o
c
a
t
i
o
n
.
j
a
v
a
:
179
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
a
o
p
.
i
n
t
e
r
c
e
p
t
o
r
.
E
x
p
o
s
e
I
n
v
o
c
a
t
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
i
n
v
o
k
e
(
E
x
p
o
s
e
I
n
v
o
c
a
t
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
j
a
v
a
:
92
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
a
o
p
.
f
r
a
m
e
w
o
r
k
.
R
e
f
l
e
c
t
i
v
e
M
e
t
h
o
d
I
n
v
o
c
a
t
i
o
n
.
p
r
o
c
e
e
d
(
R
e
f
l
e
c
t
i
v
e
M
e
t
h
o
d
I
n
v
o
c
a
t
i
o
n
.
j
a
v
a
:
179
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
a
o
p
.
f
r
a
m
e
w
o
r
k
.
J
d
k
D
y
n
a
m
i
c
A
o
p
P
r
o
x
y
.
i
n
v
o
k
e
(
J
d
k
D
y
n
a
m
i
c
A
o
p
P
r
o
x
y
.
j
a
v
a
:
208
)
a
t
c
o
m
.
s
u
n
.
p
r
o
x
y
.
1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) at com.sun.proxy.
1.proceedWithInvocation(TransactionInterceptor.java:99)atorg.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)atorg.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)atorg.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)atorg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)atcom.sun.proxy.Proxy35.importAllSearchItem(Unknown Source)
at com.alibaba.dubbo.common.bytecode.Wrapper0.invokeMethod(Wrapper0.java)
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol
1.
r
e
p
l
y
(
D
u
b
b
o
P
r
o
t
o
c
o
l
.
j
a
v
a
:
108
)
a
t
c
o
m
.
a
l
i
b
a
b
a
.
d
u
b
b
o
.
r
e
m
o
t
i
n
g
.
e
x
c
h
a
n
g
e
.
s
u
p
p
o
r
t
.
h
e
a
d
e
r
.
H
e
a
d
e
r
E
x
c
h
a
n
g
e
H
a
n
d
l
e
r
.
h
a
n
d
l
e
R
e
q
u
e
s
t
(
H
e
a
d
e
r
E
x
c
h
a
n
g
e
H
a
n
d
l
e
r
.
j
a
v
a
:
84
)
a
t
c
o
m
.
a
l
i
b
a
b
a
.
d
u
b
b
o
.
r
e
m
o
t
i
n
g
.
e
x
c
h
a
n
g
e
.
s
u
p
p
o
r
t
.
h
e
a
d
e
r
.
H
e
a
d
e
r
E
x
c
h
a
n
g
e
H
a
n
d
l
e
r
.
r
e
c
e
i
v
e
d
(
H
e
a
d
e
r
E
x
c
h
a
n
g
e
H
a
n
d
l
e
r
.
j
a
v
a
:
170
)
a
t
c
o
m
.
a
l
i
b
a
b
a
.
d
u
b
b
o
.
r
e
m
o
t
i
n
g
.
t
r
a
n
s
p
o
r
t
.
D
e
c
o
d
e
H
a
n
d
l
e
r
.
r
e
c
e
i
v
e
d
(
D
e
c
o
d
e
H
a
n
d
l
e
r
.
j
a
v
a
:
52
)
a
t
c
o
m
.
a
l
i
b
a
b
a
.
d
u
b
b
o
.
r
e
m
o
t
i
n
g
.
t
r
a
n
s
p
o
r
t
.
d
i
s
p
a
t
c
h
e
r
.
C
h
a
n
n
e
l
E
v
e
n
t
R
u
n
n
a
b
l
e
.
r
u
n
(
C
h
a
n
n
e
l
E
v
e
n
t
R
u
n
n
a
b
l
e
.
j
a
v
a
:
82
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
r
u
n
W
o
r
k
e
r
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
1142
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
1.reply(DubboProtocol.java:108) at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84) at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170) at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor
1.reply(DubboProtocol.java:108)atcom.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)atcom.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)atcom.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)atcom.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:108)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108)
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)
at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
解决方案:
由此可知spring配置文件找不到mapper接口中的方法是mybatis缺少代理类导致,所以直接在taotao-search-service的pom文件中添加依赖即可如图:
<!-- 注意:配置了此方式,原来的默认的资源拷贝行为将无效 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<!-- 如果不配置mybatis的配置文件会漏掉
默认是加载resources下面的资源文件
-->
完成以上配置即可解决!!!