zoukankan      html  css  js  c++  java
  • mybatis由浅入深day01_8.2resultMap

      8.2 resultMap

     mybatis中使用resultMap完成高级输出结果映射。

    resultType可以指定pojo将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。

    如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系 resultMap实质上还需要将查询结果映射到pojo对象中。

    resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。

        8.2.1 resultMap使用方法

    如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。

    1、定义resultMap

    2、使用resultMap作为statement的输出映射类型

        8.2.2 将下边的sql使用User完成映射

    SELECT id id_,username username_ FROM USER WHERE id=#{value}

    User类中属性名和上边查询列名不一致。

          8.2.2.1 定义reusltMap

      

    <id />:此属性表示查询结果集的唯一标识,非常重要。如果是多个字段为复合唯一约束则定义多个<id />。

    Property:表示person类的属性。

    Column:表示sql查询出来的字段名。

    Column和property放在一块儿表示将sql查询出来的字段映射到指定的pojo类属性上。

    <result />:普通结果,即pojo的属性。

          8.2.2.2 使用resultMap作为statement的输出映射类型

      

          8.2.2.3 mapper.java

      

    8.2.2.4 测试

      

      8.3 小结

    使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。

    如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。

  • 相关阅读:
    深拷贝呀,浅拷贝,再来一次复习整理
    移动端适配之路的一步步了解
    回文数
    整数反转
    关于DOM事件篇收集的知识点
    Html5新增的属性-querySelector
    Java常用的集合类
    VerifyCodeServlet(一次性验证码)
    EncodingFilter
    BaseServlet(一个Servlet多个处理方法)
  • 原文地址:https://www.cnblogs.com/justdoitba/p/8040396.html
Copyright © 2011-2022 走看看