Java MyBatis 多表查询详解

 更新时间:2021年09月26日 09:30:34   投稿:BJT  
这篇文章主要给大家介绍了关于MyBatis如何实现多表查询(多对一、一对多)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习

多表查询:

学生表、班级表、课程表、班级课程表    

一对一:

 一个学生只属于一个班级。 查询:

id  name  age  gender   banjiName

SELECT s.id,s.`name`,s.age,s.gender,b.id AS banjiId,b.name AS banjiName

FROM student AS s INNER JOIN banji AS b

ON s.banji_id=b.id; 

   

MyBatis中使用association标签解决一对一关联查询,association标签可以使用的属性如下:

  • property:对象属性的名称
  • javaType:对象以昂属性的类型
  • column:数据库中字段的名称(也可能是起的别名) 
public void testOne2One() {
      SqlSession sqlSession = MyBatisUtil. getSqlSession();
      // 最终返回的是一个学生的集合,但是Student里面是有一个banji对象,里面保存了这个学生对应的班级信息
       List<Student> list = sqlSession. selectList( "student.findStudentBanjiInfo");
       for (Student student : list) {
         System. out.println( student);
      }
   }
Student [id=1, name=张三, age=21,  gender=男, banji=Banji [id=1,  name=java1 807] ]
Student [id=2, name=zhangsan,  age=12, gender=男, banji=Banji  [id=1, name= java1807] ]
Student [id=4, name=王五2, age=12,  gender=男, banji=Banji [id=2,  name=java1812]]
${student.banji.id}
${student.banji.name}

一对多:

多对多: 

多对多其实就是分解为两个一对多。   

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 如何解决Springboot Dao注入失败的问题

    如何解决Springboot Dao注入失败的问题

    这篇文章主要介绍了如何解决Spring boot Dao注入失败的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 完美解决springboot中使用mybatis字段不能进行自动映射的问题

    完美解决springboot中使用mybatis字段不能进行自动映射的问题

    今天在springboot中使用mybatis的时候不能字段不能够进行自动映射,接下来给大家给带来了完美解决springboot中使用mybatis字段不能进行自动映射的问题,需要的朋友可以参考下
    2023-05-05
  • springboot项目不同环境的配置读取方式

    springboot项目不同环境的配置读取方式

    SpringBoot支持application.properties、application.yml、application.yaml三种配置文件类型,可同时存在并合并配置,配置文件的读取优先级为:application.properties > application.yml > application.yaml,不同位置的相同类型配置文件
    2024-11-11
  •  java中StopWatch的使用详解

     java中StopWatch的使用详解

    本文主要介绍了 java中StopWatch的使用详解,stopWatch使用它可直观的输出代码执行耗时,以及执行时间百分比,非常具有实用价值,需要的朋友可以参考下
    2023-05-05
  • 使用SpringBoot读取Windows共享文件的代码示例

    使用SpringBoot读取Windows共享文件的代码示例

    在现代企业环境中,文件共享是一个常见的需求,Windows共享文件夹(SMB/CIFS协议)因其易用性和广泛的兼容性,成为了许多企业的首选,在Java应用中,尤其是使用Spring Boot框架时,如何读取Windows共享文件是一个值得探讨的话题,本文介绍了使用SpringBoot读取Windows共享文件
    2024-11-11
  • springboot+jwt实现token登陆权限认证的实现

    springboot+jwt实现token登陆权限认证的实现

    这篇文章主要介绍了springboot+jwt实现token登陆权限认证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • IDEA最新激活码2021(IDEA2020.3.2最新永久激活方法)

    IDEA最新激活码2021(IDEA2020.3.2最新永久激活方法)

    这篇文章主要介绍了IDEA最新激活码2021(IDEA2020.3.2最新永久激活方法),本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • json如何解析混合数组对象到实体类的list集合里去

    json如何解析混合数组对象到实体类的list集合里去

    这篇文章主要介绍了json解析混合数组对象到实体类的list集合里去的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • java 压缩和解压缩Zip、Jar、Gzip文件实例代码

    java 压缩和解压缩Zip、Jar、Gzip文件实例代码

    本文主要介绍java压缩和解压缩Zip、Jar、Gzip文件的知识,这里整理了相关资料,并附示例代码有兴趣的小伙伴可以参考下
    2016-09-09
  • Java手动配置线程池过程详解

    Java手动配置线程池过程详解

    这篇文章主要介绍了Java手动配置线程池过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论