resultType实现的时候先要确定po类(数据库类)满不满足要求,如果不满足就要自定义一个pojo类(工具类)。

resultMap提供一对一关联查询的映射和一对多关联查询映射,一对一映射思路:将关联查询的信息映射到pojo中,如下:

在Orders类中创建一个User属性,将关联查询的信息映射到User属性中。

mapper.xml

<!-- 一对一查询resultMap -->

    <resultMap type="orders" id="ordersUserResultMap">
<!-- 完成了订单信息Order的映射配置 -->
<id column="id" property="id"/> <!-- Orders的id,整个查询的唯一标识就是Orders的id -->
<result column="user_id" property="userId"/><!-- Orders的userId-->
<result column="number" property="number"/>
<result column="createtime" property="createtime"/>
<result column="note" property="note"/> <!-- 下边完成关联信息User的映射
association:用于对关联信息User映射到单个pojo(Orders)
property:要将关联信息映射到orders的哪个属性中
javaType:关联信息映射到orders的属性的类型,是user的类型
-->
<association property="user" javaType="user">
<!-- id:关联信息User的唯 一标识 -->
<!-- property: 要映射到user的哪个属性中-->
<id column="user_id" property="id"/>user_id
<!-- result就是普通列的映射 -->
<result column="username" property="username"/>
<result column="sex" property="sex"/> </association> </resultMap>

1.1.1 mapper.java

测试

@Test
public void testFindOrderUserListResultMap() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession();
// 创建mapper代理对象
OrdersMapperCustom ordersMapperCustom = sqlSession
.getMapper(OrdersMapperCustom.class); // 调用方法
List<Orders> list = ordersMapperCustom.findOrderUserListResultMap(); System.out.println(list);
}

1.2小结
resultType:要自定义pojo 保证sql查询列和pojo的属性对应,这种方法相对较简单,所以应用广泛。 resultMap:使用association完成一对一映射,需要配置一个resultMap,过程有点复杂,如果要实现延迟加载就只能用resultMap实现 ,如果为了方便对关联信息进行解析,也可以用association将关联信息映射到pojo中方便解析。

最新文章

  1. Mysql中eft join、right join、inner join的区别
  2. nginx和rewrite的配置
  3. Android出现java.net.SocketException: Permission denied报错
  4. 【转】 探索UDP套接字编程
  5. Appium+Maven+TestNG(ReportNG)环境搭建(详细过程)
  6. QUiLoader 动态加载.ui文件
  7. 排序算法c语言描述---冒泡排序
  8. 复制360于Launcher浮动窗口的屏幕显示内存使用情况(基本版)
  9. linux挂载新硬盘
  10. 《精通CSS》——个人总结
  11. Python爬虫从入门到放弃(十五)之 Scrapy框架中Spiders用法
  12. Spring各jar包作用及依赖
  13. centos6.5中rpm包安装mysql5.7(初始化出错如何解决)
  14. 推荐一些用CRF做图像语义分割的资源
  15. 微信商户/H5支付申请 被拒原因:网站存在不实内容或不安全信息
  16. MySQL中InnoDB锁不住表的原因
  17. 在vim中安装及配置NERDTree插件
  18. php将中文符号全部替换为英文符号
  19. 小程序嵌套h5
  20. python分析apahce网站日志的例子

热门文章

  1. Tomcat基础教程(四)
  2. skiplist 跳表(2)-----细心学习
  3. Form Post
  4. bzoj 3781: 小B的询问 分块
  5. js 正则 非负整数
  6. Web-Scale IT:对企业的影响
  7. Android 使用LinearLayout.getChildAt(i)获取一个线性布局的view,并实现content中实现方法
  8. LM393,LM741可以用作电压跟随器吗?
  9. u-boot使用
  10. (转载)查看三种MySQL字符集的方法