• 关于XML配置文件中的association标签的使用问题


    XML配置文件中的association用于表与表的连接适用于一对一和多对一(我遇到的是一对一,多对多还未涉及)

    1. <resultMap type="EsItem" id="EsItemDetailResult">
    2. <id property="itemId" column="item_id" />
    3. <result property="itemName" column="item_name" />
    4. <association property="sales" column="item_id" javaType="EsSales" resultMap="EsSalesResult" />
    5. </resultMap>

    (为了便于观察我把resultMap中的配置删的只剩下这些)

    1,上面的association标签的property中填的是查询结果对应的实体类中本来不应该有的东西
    因为如果平时的话是按照表的字段来写实体类,但是这个东西不属于查询结果对应的表中

    2,它来自与查询结果对应的表连接的表,但是查询结果对应的实体类中需要有这个连接的表对应的实体类及其get、set方法

    3,column中填的是两个表之间连接的字段(外键?)

    4,javaType填的是查询结果对应的实体类

    5,resultMap对应的是下面的resultMap标签的id

    贴一个被连接的表的resultMap

    1. <resultMap type="EsSales" id="EsSalesResult">
    2. <id property="itemId" column="item_id" />
    3. <result property="avgprice" column="avgprice" />
    4. <result property="opendate" column="opendate" />
    5. <result property="paydate" column="paydate" />
    6. <result property="highlights" column="highlights" />
    7. </resultMap>

    这个里面的id标签可能(因为我这么写是可以的,所以我没有测把它改成自己的主键会不会不好使)也是与主表连接的字段(外键?)

    总结:

    1,写好各个表对应的实体类,主表对应的实体类中应该有被连接表对应的对象参数,如

    1. //这是EsSales实体类中的,当然还得加上他的get,set方法
    2. private EsSales sales;

    2,配置好resultMap标签(连接的以及被连接的),把需要的字段配置进去

  • 相关阅读:
    C++模板初阶
    spring的bean创建流程源码解析
    Nvidia AGX Orin MAX9296 GMSL 载板设计要点
    HT5010 音频转换器工作原理
    iOS获取当前网络连接状态WiFi、5G、4G、3G、2G
    华为云云耀云服务器L实例评测|华为云云耀云服务器L实例CentOS的存储和备份策略
    Android Native 内存泄漏系统化解决方案
    你需要知道的前端知识点,V8引擎是什么?采用哪些GC算法?
    Android Audio 焦点
    spring 面试题总结
  • 原文地址:https://blog.csdn.net/jtjeeeee/article/details/125456216