MyBatis -resultMap 的使用

1, resultMap  使用

    <select id="xx" resultMap="resultMapID">

2.新建一个 resultMap

<resultMap type="" id="resultMapId">
type : 查询结果返回的对象 ,需要对象全路径
id: 用于在 

2.1  resultMap 节点

  

    <id column="主键ID" property="对应对象属性ID"/>
  <result column="sql列明" property="对应对象的属性名称"/>
1对1 的时候使用    
<association property="" javaType="">
这个标签指定单个对象的对应关系 
property:指定将数据放入中得属性名称,
javaType:属性的类型如对象 中用户表中 关联了用户信息 
property 对应的时User类中 对应的用户信息属性名称 如userInfo
javaType  是用户信息的类型 全路径

  

<collection property="" ofType="">

property:将数据放入对象中的list属性名称
ofType:指定list属性的泛型类型

如 用户有多个订单 

 
时间: 2024-10-14 23:07:26

MyBatis -resultMap 的使用的相关文章

hao947 : Mybatis resultMap配置插入和主键自增返回 : 好947

映射配置文件  好947  <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 -->  <resultMap type="person" id="BaseResultMap">   <!-- column:库表的字段名 property:实体类里的属性名 -->   <id column="person_id" property="personId" /&g

mybatis resultmap标签type属性什么意思

mybatis resultmap标签type属性什么意思? :就表示被转换的对象啊,被转换成object的类型啊 <resultMap id="BaseResultMap" type="BaseObject"> <id property="id" column="id" /> <result property="appId" column="appid"

mybatis - resultMap

resultMap有比较强大的自动映射,下面是摘自mybatis中文官网的的片段: 当自动映射查询结果时,MyBatis会获取sql返回的列名并在java类中查找相同名字的属性(忽略大小写). 这意味着如果Mybatis发现了ID列和id属性,Mybatis会将ID的值赋给id. 通常数据库列使用大写单词命名,单词间用下划线分隔:而java属性一般遵循驼峰命名法. 为了在这两种命名方式之间启用自动映射,需要将 mapUnderscoreToCamelCase设置为true. 自动映射甚至在特定的

Mybatis resultMap空值映射问题

参考博客:https://www.oschina.net/question/1032714_224673 http://stackoverflow.com/questions/22852383/how-to-change-valuenull-to-empty-string-from-query-when-using-mybatis Mybatis在使用resultMap来映射查询结果中的列,如果查询结果中包含空值的列(不是null),则Mybatis在映射的时候,不会映射这个字段,例如 查询 n

Mybatis resultMap空值映射问题解决

Mybatis在使用resultMap来映射查询结果中的列,如果查询结果中包含空值的列(不是null),则Mybatis在映射的时候,不会映射这个字段,例如 查询 name,sex,age,数据库中的age字段没有值,Mybatis返回的map中只映射了 name和sex字段,而age字段则没有包含. 网上找到两种解决办法: 一.使用Mybatis config配置 创建configuration.xml <?xml version="1.0" encoding="UT

Mybatis ResultMap复合映射使用以及源码分析

我们知道在mybatis中可以针对一列值作为入参进行嵌套查询,那么如果入参为多个时该如何处理呢? mybatis支持复合映射,下面通过示例代码看看复合映射的使用 <resultMap id="postLiteMap2NestedWithSelect" type="org.apache.ibatis.domain.blog.BlogLite"> <id column="blog_id" property="id"

Mybatis resultMap经验

Mybatis中的resultMap使用经验: 先来看一个官方的例子: <resultMap id="detailedBlogResultMap" type="Blog">  <constructor>    <idArg column="blog_id" javaType="int"/>  </constructor>  <result property="ti

mybatis ResultMap详解

前言 MyBatis是基于"数据库结构不可控"的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而resultMap就是结果集映射的配置标签了. 在深入ResultMap标签前,我们需要了解从SQL查询结果集到JavaBean或POJO实体的过程. 从SQL查询结果到领域模型实体 通过JDBC查询得到ResultSet对象 遍历ResultSet对象并将每行数据暂存到HashMap实例中,以

Mybatis ResultMap多表映射DTO

解决问题:n+1问题,之前我的习惯是拿到单表里面的数据,然后遍历,再拿到一个与其他表对应的逻辑上的外键,然后for循环去查找其他表的数据(原因是数据量小,没有在意,还有主要是不想建外键,你知道的,外键是很麻烦的,虽然有利于查询,但是增删改确实很让人头疼),这样做也能达到效果,但是效率低,访问数据库的次数也太多了,假设我查询出了1000条数据,我要用他里面的逻辑外键去查找其他表1000次,就意味着访问数据1000次,这样做还会遇到一些问题,若当前的逻辑外键查找在对应的表里面没有数据,就会抛出异常,

Mybatis ResultMap 和 resultType 区别

一.概述MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在.在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值.①当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resu