SpringMvc多对一&一对多

蚊子 2022年07月22日 534次浏览

一对多

在XML里面写的

    <!-- 一的实体类 -->
    <resultMap id="test1" type="com.zb.entity.No1">
        <!-- 一表主键id,property:实体类字段名字  column:数据库字段名 -->
        <!-- 即使字段相同也建议写上 -->
        <id property="cid" column="cid" />
        <!-- 字段映射 -->
        <result column="name_a" property="name1"></result>
        <result column="name_b" property="name2"></result>
        <!-- 多的实体类, property:变量名  ofType:多的实体类  column:外键id(可写可不写)-->
        <collection property="li" ofType="com.zb.entity.No2" column="cid">
            <!-- 多表主键id,property:实体类字段名字  column:数据库字段名 -->
            <!-- 即使字段相同也建议写上 -->
            <id property="id" column="id" />
            <!-- 字段映射 -->
            <result column="name_c" property="name"></result>
        </collection>
    </resultMap>
    
        <select id="no1" resultMap="test1">
    select * from no1,no2 where no1.cid = no2.cid
    </select>

在一的实体类里面要加上

 private List<多的实体类> 变量名;

然后生成get和set方法


多对一

在XML里面写的

  <!-- 多的实体类 -->
<resultMap id="duoMap" type="com.no.entity.Goods_detail">
  <!-- 主键 -->
  <id property="cid" column="cid" />
    <!-- 字段映射 -->
  <result column="name_a" property="name1"></result>
      <!-- 一的实体类 -->
   <association property="gg" javaType="com.no.entity.Goods_sort">
     <!-- 主键 -->
   <id property="cid" column="cid" />
     <!-- 字段映射 -->
  <result column="name_a" property="name1"></result>
  </association> 
</resultMap>

<select id="chaAll" resultMap="duoMap">
sql语句
</select>

在多的实体类里面要加上

private  一的实体类 变量名;

然后生成get和set方法