运行mybatis工程,报错:Invalid bound statement (not found)…
提示找不到相应方法对应的sql语句。网上搜了一下,解决方法如下:
- 检查xml文件所在的package名称是否和interface对应的package名称一一对应
- 检查xml文件的namespace是否和xml文件的package名称一一对应
- 检查函数名称能否对应上
- 去掉xml文件中的中文注释
- 随意在xml文件中加一个空格或者空行然后保存
逐一检查,都没错。浪费了很长时间,最后发现,错误日志里有这样一行信息:
Property 'mapperLocations' was not specified or no matching resources found
找到配置数据库的xml,发现mapperLocations的地址写错了。。。
<bean id="MySQLSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="MySQLDataSource" />
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property>
<property name="mapperLocations" value="classpath*:mybatis/**/*.xml" />
</bean>
改过来就好了。