SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现

时间:2021-12-28 01:11:38


系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、关联查询——实现一对一_模型里面有模型
  • 总结

前言

接着上一篇

一、关联查询——实现一对一_模型里面有模型

其实很简单

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


非常简单,如上图所示外,我们再加一个关联的标签即可

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


新写一个接口

接口里面就不再返回扩展类了

而是返回Order

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


下一步我们做什么呢?直接用?非也非也

如果模型里面有模型,必须使用resultMap

这是上一篇文章留下的坑

现在这里把它补上

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


association意思就是关联

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


所以上一篇我们留下的坑就是,没有模型里面有模型,仅此而已

有时候欠缺一点知识,整个就玩不转,这就是所谓的失之毫厘谬以千里吧模型里面有模型,使用 resultMap,并且 使用association来关联配置

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


注意

如果不想看到user里面那么多null

也可以在属性里面不加那些暂时用不到的属性

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


注意,最好不要在原来的标准model下的user上改

最好新建一个,比如命名为User_simple

如下

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现


这样就不会影响其它的地方,依次保证项目不会到处报错

然后给它提供get/set那些,再改一下配置,即用上它即可(即之前应用的是User,现在改成应用User_simple)

效果如下

SSM之MyBatis_02_07关联查询——实现一对一_模型里面有模型(必须使用resultMap)_resultMap的方式实现

总结

resultType:
使用resultType实现较为简单,如果pojo中没有包括查询出来的列名,需要增加列名对应的属性,即可完成映射。如果没有查询结果的特殊要求建议使用resultType

resultMap:
需要单独定义resultMap,实现有点麻烦,如果对查询结果有特殊的要求,使用resultMap可以完成将关联查询映射pojo的对象属性中

resultMap可以实现延迟加载,resultType无法实现延迟加载

模型里面有模型,使用 resultMap,并且 使用association来关联配置