今天在写复杂查询业务的时候,用的mybatis配置文件写的,之前的简单查询都是用的通用mapper。然后在写完并且测完SQL语句后,写进了mapper.xml。跑的时候出现了绑定异常org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com…的问题。
我的检查流程如下:
首先检查了xml配置的namespace绑定的接口。用ctrl+鼠标左键点进去发现能点,没有问题。
然后检查了select标签的id,把接口的方法名复制了一遍。
然后检查了resultMap的id是否一致,type和oftype对应的实体名是否一致。
都没问题后检查application.properties配置文件,别名和xml的配置文件扫描
mybatis.type-aliases-package=com.evaluation_of_teaching.model
mybatis.mapper-locations=classpath:com/evaluation_of_teaching/dao/mybatis/*.xml
到这检查还是没有问题,然后查了下可能是xml资源过滤问题。然后在pom.xml的build标签里加上了资源过滤代码。再跑就有结果了。
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>