Mybatis的Association查询和Collection查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40178464/article/details/88897374

Mybatis是一款性能优异的半自动化ORM框架,而在实际应用中一对一和一对多的联合查询应用广泛,本文将探讨怎样利用Mybatis实现以上两种联合查询。

1.数据库表结构
表address:
在这里插入图片描述
表schoolclass
在这里插入图片描述
表student
在这里插入图片描述
由表结构可知,当查询某个学生信息时,就会用到Association查询,查询某个班级学生信息时,会用到Collection查询,以下就以上两种场景,看看Mybatis的实现。



2.分步查询实现association
·先查一个表,获得外键
·由外键再查另一个表,把获得的数据添加到第一步中
·其中property表示类中的属性,select表示对应在各自namespace下的方法,column表示传给方法的参数(外键)
·当column参数有多个时,利用map来传递,比如{key1 = column1, key2 = column2…},下面的column还可以写成[column=“id=schoolclassid”],即[方法声明的变量名=传入的参数名]的方式
在这里插入图片描述



3.嵌套查询实现association
在这里插入图片描述
在这里插入图片描述



4.分步查询实现Collection
在这里插入图片描述
在这里插入图片描述



5.嵌套查询实现Collection
在这里插入图片描述
注:以上的所有自实现的SQL语句中,由于id字段的重复,会导致异常,所以一定要给id字段起别名

猜你喜欢

转载自blog.csdn.net/qq_40178464/article/details/88897374
今日推荐