Mybatis
ResultMap和ResultType
在select标签中,这两个属性不可能同时存在,但是也不可以都不存在,需要存在一个
ResultType一般表示的是方法返回元素的数据类型
ResultMap一般用于多表中,数据的映射(主要是因为sql中的字段和pojo实体类的属性不一致情况下)
pojo实体类属性和表中字段自动的映射
比如:
表中字段:id,name,avatar,author_id,nick_name,deleted,description
对应pojo实体类中的属性应该为:id,name,avatar,authorId,nickName,deleted,description
(如果不符合上面的映射规则,则需要通过ResultMap进行属性和字段之间的映射)
select语句尽量使用参数ResultMap而不是ResultType,特别是实体类和表字段不规范情况下
查询语句返回总数的时候,需要使用resultType
查询语句返回对象的话,需要使用的是ResultMap
Invalid bound statement (not found)
根本的原因是因为mybatis相关的文件没有构建好,也就是没有加载进去
常见的解决办法:
1、观察mapper包,在启动类中是否添加了扫描注解进行扫描
2、在配置文件中是否将mapper.xml的路径是否配置好
3、查看mapper.xml的namespace是否填写正确
3、如果上面的操作都弄好,那就是看下target文件中是否存在xml文件
target文件中没有xml文件的解决办法:
1)在pom文件中添加以下代码,将xml文件构建进去
</build>
<resources>
<resource>
<directory>src/main/java</directory><!--所在的目录-->
<includes>