MyBatis映射文件
MyBatis映射文件
- 映射关系
- 命名规则(一般)
- 查询语句resultType和resultMap
映射关系
| Java概念 | 数据库概念 |
|---|
| 类 | 表 |
| 属性 | 字段/列 |
| 对象 | 记录/行 |
命名规则(一般)
- 表所对应的实体类的类名+Mapper.xml
- 一个映射文件对应一个实体类,对应一张表的操作
- MyBatis映射文件存放的位置是src/main/resources/mappers目录下
-
MyBatis中可以面向接口操作数据,要保证两个一致
-
mapper接口的全类名和映射文件的命名空间(namespace)保持一致
-
mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致
查询语句resultType和resultMap
-
查询的标签select必须设置属性resultType或resultMap,用于设置实体类和数据库表的映射关系
-
resultType:自动映射,用于属性名和表中字段名一致的情况
-
resultMap:自定义映射,用于一对多或多对一或字段名和属性名不一致的情况
- 当查询的数据为多条时,不能使用实体类作为返回值,只能使用集合,否则会抛出异常TooManyResultsException;但是若查询的数据只有一条,可以使用实体类或集合作为返回值