zoukankan      html  css  js  c++  java
  • mybatis中的高级查询

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

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

    案例说明:

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

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

    有如下需求:

    解决方法:

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

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

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

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

    测试代码如下:

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

  • 相关阅读:
    关于代码手写UI,xib和StoryBoard
    封装自己的framework静态库
    AsyncDisplayKit
    RunLoop
    AFNetworking2.0源码解析<三>
    AFNetworking2.0源码解析<四>
    AFNetworking2.0源码解析<二>
    AFNetworking2.0源码解析<一>
    多线程
    Mac svn 命令
  • 原文地址:https://www.cnblogs.com/zhang--/p/11773622.html
Copyright © 2011-2022 走看看