多表联合查询_一对多多表联合查询

Ⅵ。一对多多表联合查询

一对多多表联合查询,我们将延用一对一多表联合查询的模式,通过一个小例子来说明。

我们先来想一下生活中一对多的场景,比如一个班级和多个学生,一个部门和多个职员等等。

这里我们就班级和学生来说:

两个需求:1.给定班级号,查询班级记录和它的学生信息;2.给定学生号查询学生记录和它对应的班级信息。

希望大家仔细阅读代码的注释,同时需要注意的是,这里的大部分内容,我认为你是已经掌握了一定的 MyBatis/Java知识的 。如果没有,建议先看一下前面专题的文章,然后来看这里的文章你就会轻松很多。

项目目录:

a930c0cd452223ca6d7702e72852237c.png


这里只给出,给定班级号,查询班级记录和它的学生信息的ClassMapper.xml文件内容:

mybatis-config.xml已经是我们的老朋友了,这里就不做过多的解释了,直接纯粹的代码了。

mybatis-config.xml

<?xml  version="1.0" encoding="UTF-8" ?><configuration>    <settings>        <setting name="logImpl" value="LOG4J"/>        <setting name="lazyLoadingEnabled" value="true"/>        <setting name="aggressiveLazyLoading" value="false"/>        <setting name="lazyLoadTriggerMethods" value="clone"/>    settings>    <environments default="development">        <environment id="development">            <transactionManager type="JDBC">transactionManager>            <dataSource type="POOLED">                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>                <property name="url" value="jdbc:mysql://localhost:3306/jdbc?serverTimezone=CST"/>                <property name="username" value="root"/>                <property name="password" value="beauty"/>            dataSource>        environment>    environments>    <mappers>        <mapper resource="mapper/ClassMapper.xml">mapper>    mappers>configuration>

ClassMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>                                            select tid,tname from student where cname = #{cname}                                                                                               select cname,cloc from class where cname = #{cname}                    select distinct * from  class c,student s where c.cname = s.cname and c.cname = #{cname};    >

剩下的内容希望大家当作练习完成了。

百看不如一练,代码生活,要勤于动手。

<欢迎大家指正错误,完善细节>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值