二、Mybatis复杂映射开发

  Mybatis针对SQL查询结果的复杂性,实现了一下三种复杂查询:

  1)一对一查询

    实现语句:select * from neworder o, user u where o.uid = u.id

    实体Order:

        

    接口:

        

     配置:

        

    关注点:此时mapper文件中resultMap已经不是实体类,而是mapper中resultMap的ID;同时resultMap中使用assoiation标签。

     测试:

      

  一对多查询

    实现语句:select *,o.id oid from user u left join neworder o on u.id=o.uid;

    User实体类修改:

        

    接口:

        

     配置UserMapper.xml:

       

、      注意:一对多结果中resultMap标签中使用collection标签。

     测试:

      

  多对多查询

    实现student与course之间多对多的关系:select * from student s left join sc on s.id=sc.sid inner join course c on sc.cid=c.id;(此为左连接,有链接类推)

      新建实体:Student

        

    接口:

        

     配置StudentMapper.xml:

        

     测试:

      

         以上同一对多似乎没有区别?!

posted on 2021-03-06 13:08  池塘里洗澡的鸭子  阅读(51)  评论(0编辑  收藏  举报