MyBatis映射器有两种形式:
SqlMapper.xml 和 接口中的方法
一.单表的映射
- 可以看到实体类smname属性和表中sm_name属性格式不相同,不做映射,获得的值为null,所有需要通过映射去获取
- 单表只需做映射不到的字段
1、举例说明一下:
- 通过对数据库中表schoolmaster的操作,表的数据如下:
- 创建相对应的实体类:
- 创建接口:
- 在sqlMapper映射文件中
-
注解
2、SqlMapper.xml要注意的:
- sqlMapper中namespace的值要指向id的类路径
- 接口中的方法名要和sqlMapper中的id一致
- 接口中的返回值类型要和sqlMapper中的resultType类型一致
- 接口中的入参类型要和sqlMapper中的parameterType类型一致
- sqlMapper文件要和接口文件在同一包下
- sqlMapper文件要和接口文件类名一
二、多表映射
1、多表的表关系
- 一对一
- 一对多
- 多对一(不建议)
- 多对多(不建议)
- 尽量将表关系分析为一对一或一对多
2、多表注解的SQL语句不用写表联查;
sqlMapper中需要写所有字段的属性的映射关系
3、多表的举例:
- 创建对应的实体类
课程对老师表:一对一的关系
- 创建接口
- sqlMapper中
- 注解