• 关于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标签(连接的以及被连接的),把需要的字段配置进去

  • 相关阅读:
    记录一下~~~Linux配置定时任务备份数据库dmp文件
    JS 循环JSON将数据遍历到Table里面
    java 转换excel日期格式
    历史上最愚蠢的代码
    【愚公系列】2022年08月 微信小程序-左划删除效果实现
    如何优雅的比较两个对象是否相等
    B站每日自动签到&传统单节点网站的 Serverless 上云
    缓存穿透、缓存雪崩、缓存击穿(一张表清晰明了)
    Oauth2系列4:密码模式
    和大于等于 target 的最短子数组 python解答
  • 原文地址:https://blog.csdn.net/jtjeeeee/article/details/125456216