目录
1.Expected one result (or null) to be returned by selectOne(), but found: 5
2.Error parsing SQL Mapper Configuration
1.Expected one result (or null) to be returned by selectOne(), but found: 5
产生原因:select 返回的结果集有多个,所以报错;当返回当个结果集是就不会报错。
解决方案:将方法的返回值修改为list
2.Error parsing SQL Mapper Configuration
Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/apesource/mapper/WebsiteMap.xml
产生原因:MyBatis连接数据库的配置文件mybatis-config.xml中将mapper文件写入到配置文件中路径错误
解决方案:
3.resultType和resultMap区别
MyBatis 的每一个查询映射的返回类型都是 resultMap ,只是当我们提供的返回类型是 resultType 时, MyB atis 会自动把对应的值赋给 resultType 所指定对象的属性,而当我们提供的返回类型是 resultMap 时, My Batis 会将数据库中的列数据复制到对象的相应属性上,可用于复制查询。resultMap:适合使用返回值是自定义实体类的情况
resultType:适合使用返回值得数据类型是非自定义的,即jdk的提供的类型。
4.association和collection的区别
association是用于一对一和多对一,而collection是用于一对多的关系
在 MyBatis 中,通过 元素的子元素 处理一对多级联关系, collection 可以 将关联查询的多条记录映射到一个 list 集合属性中
例如:根据 id 查询用户及其关联的订单信息
在 MyBatis 中,通过<resultMap>元素的子元素<association>处理一对一级联关系
例如:一个学生基本信息对应一个学籍档案。