MyBatis如何实现多表查询(一对一、一对多)

方式一:sqlMapper配置文件

例如:学生对班级就是一对一(一个学生只能对应一个班级),班级对学生就是一对多(一个班级有很多学生)

一对一:

首先在学生实体类里创建一个外部属性班级

创建一个接口,里面写查询的方法(因为使用动态代理,所以接口名哥xml文件名是一样的)

mapper标签的属性namespace的值要指向接口的类路径

一对一要 在resultMap标签中使用 association 标签

 然后是测试

 

 一对多:

在班级实体类里创建一个外部属性学生的集合(因为是多个多以用到集合)

和上面一样创建一个接口,里面写查询的方法(因为使用动态代理,所以接口名哥xml文件名是一样的)

 mapper标签的属性namespace的值要指向接口的类路径

 一对多在resultMap 标签中使用collection 标签

 方式二:注解

一对一:和上面一样还是使用学生和班级举例首先在学生实体类里创建一个外部属性班级

 然后创建一个接口,和xml不一样的是注解sql语句和方法都在接口里面写,不需要mapper文件

一对一使用one属性

一对多:

在班级实体类里创建一个外部属性学生的集合(因为是多个多以用到集合)

 然后创建一个接口,和xml不一样的是注解sql语句和方法都在接口里面写,不需要mapper文件,一对多使用many属性

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值