- 检查mapper.xml文件是否在工程中生效
- 检查dao层接口定义是否正确
- 检查xml中mapper标签的namespace配置是否正确
- 检查xml中语句配置是否正确
Mybatis的mapper.xml文件生效是由mapperLocations加载的
SqlSessionFactoryBean.setMapperLocations(Resource... mapperLocations)
mapperLocations是Spring的资源文件加载方式,可以选择正则匹配的方式查找配置路径的xml文件
Resource mapperLocations= new PathMatchingResourcePatternResolver().getResources("classpath*:sqlmap/*-mapper.xml");
如上规规,你的mybatis的xml文件必须要放在sqlmap文件夹下且以-mapper.xml后缀结尾。
2. 检查dao层接口定义是否正确标准的Dao层接口定义如下:
@Mapper
public interface BookDao {
String getBookId(@Param("name") String bookName);
List getBooks(@Param("bookIds") List bookIds);
int insertBook(@Param("books") List books);
}
3. 检查xml中mapper标签的namespace配置是否正确
xml文件中的mapper标签的namespace与类名是否关联?这里要考虑有没有配置别名,默认都是用全类名唯一性来关联
4. 检查xml中语句配置是否正确
`id`, `name` `price` SELECT id FROM book WHERe name = #{name} INSERT INTO book( ) VALUES #{book}



