• mybatis中的高级查询


    Mybatis作为一个ORM框架,肯定是支持sql高级查询的。

    下面的一个案例来为大家详细讲解mybatis中的高级查询。

    案例说明:

    此案例的业务关系是用户,订单,订单详情与商品之间的关系。

    以订单为主,一个订单只能属于一个人,订单和人是一对一的关系。一个订单可以有多个订单详情,订单和订单详情是一对多的关系。一个订单中可以有多个商品,一个商品也可以属于多个订单,订单与商品是多对多的关系。

    有如下需求:

    解决方法:

    1.先分析,一共有四个实体,所以肯定要建四张数据表和四个实体类。

    一对一查询,两表联合,以订单表为主表,用户表为从表进行笛卡尔积。在xxxMapper.xml文件中进行sql语句编写,如下图

     用resultMap来定义返回值类型,首先要自定义resultMap标签里的内容,如下图:

     在Order实体类中定义一个User属性,生成自己的get/set方法,然后这样就可以返回一个order类型,order包含user,这样就可以同时查询两张表内容,返回到一个类。

    测试代码如下:

    同理,一对多,多对多编程思想一致。由于本人能力有限所以只能理解到这里了。勿怪!!!

  • 相关阅读:
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业03--栈和队列
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    c语言博客作业05--指针
    C语言博客作业03--函数
    DS博客作业--课程总结
    DS博客作业07--查找
  • 原文地址:https://www.cnblogs.com/zhang--/p/11773622.html
Copyright © 2020-2023  润新知