zoukankan      html  css  js  c++  java
  • Mybatis-利用resultMap 输出复杂pojo

    个:复杂的sql语句查询的数据集的字段和 pojo的字段不相同,需要用到resultMap做一个对应。

    ----------------

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

    1.1.1 resultMap使用方法

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

    1、定义resultMap

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

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

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

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

    ==================

    1.1 resultMap

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

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

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

    1.1.1 Mapper.xml定义

      

    使用resultMap指定上边定义的personmap

    1.1.1 定义resultMap

    由于上边的mapper.xmlsql查询列和Users.java类属性不一致,需要定义resultMapuserListResultMapsql查询列和Users.java类属性对应起来

      

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

    Property:表示person类的属性。

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

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

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

  • 相关阅读:
    并查集 示例 : poj 1703 [Find them, Catch them 帮派之争]
    《Python 第五章》条件,循环和其他语句
    《Python 第一章》基础知识
    heapSort 堆排序 / 二叉堆
    并查集 hdu 1856 示例
    KMP / hdu 1711 [找到匹配的位置并返回]
    《Python 第四章》字典
    EnumChildWindows的使用
    C#查找指定窗口的子窗口的句柄
    C#里字符串取左边N个字符,右边N个字符,从中间取N个字符的函数
  • 原文地址:https://www.cnblogs.com/rogge7/p/7127553.html
Copyright © 2011-2022 走看看