現象:
spring-boot+mybatis+hessian進行整合的時候,client調用server端會報Invalid bound statement (not found)錯誤,這個錯誤來自mybatis。
原因:
根據hessian的使用方式,服務端和客戶端都必須同時存在相同的接口。而mybatis配置的MapperScan會掃描指定的包,如果瞭解MapperScan註解,就應該明白,MapperScan會掃描指定包下的所有接口,注意是接口。如果mybatis發現接口中的方法沒有綁定,就會報Invalid bound statement (not found)錯誤。
解決:
MapperScan註解掃描的包範圍要精確一點,不要包含hessian的接口就可以了。
踩坑之路,一路成長。