千家信息网

MyBatis3.X复杂Sql查询相关知识有哪些

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章将为大家详细讲解有关MyBatis3.X复杂Sql查询相关知识有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MyBatis3.X复杂Sql查询MyBa
千家信息网最后更新 2025年11月12日MyBatis3.X复杂Sql查询相关知识有哪些

这篇文章将为大家详细讲解有关MyBatis3.X复杂Sql查询相关知识有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

MyBatis3.X复杂Sql查询

MyBatis3.X的resultMap

1.Mybatis的sql语句返回的结果有两种

  • resultType

  • 查询出的字段在相应的pojo中必须有和它相同的字段对应,或者基本数据类型

  • 适合简单查询

  • resultMap

需要自定义字段,或者多表查询,一对多等关系,比resultType更强大
适合复杂查询

                                        

ResultMap复杂对象一对一查询结果映射之association

association:映射到POJO的某个复杂类型属性,比如订单order对象里面包含user对象

                                                                        

代码

// resultmap association关联查询VideoOrderMapper videoOrderMapper =sqlSession.getMapper(VideoOrderMapper.class);List videoOrderList = videoOrderMapper.queryVideoOrderList();System.out.println(videoOrderList.toString());

ResultMap复杂对象一对多查询结果映射之collection

collection: 一对多查询结果查询映射,比如user有多个订单

                                                                                       

代码

// resultmap association关联查询VideoOrderMapper videoOrderMapper =sqlSession.getMapper(VideoOrderMapper.class);//resultmap collection测试List userList = videoOrderMapper.queryUserOrder();System.out.println(userList.toString());

Mybatis3.X ResultMap复杂对象查询总结

总结ResultMap的复杂对象查询
  • association映射的是一个pojo类,处理一对一的关联关系。

  • collection映射的一个集合列表,处理的是一对多的关联关系。

  • 模板

<!--column不做限制,可以为任意表的字段,而property须为type定义的pojo属性-->                                  <!--集合中的property 需要为oftype定义的pojo对象的属性-->           

关于"MyBatis3.X复杂Sql查询相关知识有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0