mybatis一对多--多对多(查出的数据-返回参数)

xml文件为:

<!--1对多,指的是在那个多的里面都是不同的(collection),而在resultMap上的result都是一样的-->
    <resultMap id="resultAllDTO" type="cn.org.emcs.materialapi.social.dto.DonationMeterialAllDTO">
<!--        <id property="ids" column="ids"/>-->
        <result property="donationId" column="donation_id"/>
<!--        <result property="helpId" column="help_id"/>-->
        <collection property="meterialDTOS" ofType="cn.org.emcs.materialapi.social.dto.MeterialDTO" javaType="java.util.List">
            <result column="material_name" property="materialName"></result>
            <result column="material_specs" property="materialSpecs"></result>
            <result column="material_number" property="materialNumber"></result>
        </collection>
    </resultMap>

<select id="selectDonationMaterialByDonationId2" parameterType="cn.org.emcs.materialapi.social.vo.DonationMeterialVO" resultMap="resultAllDTO">
        select  a.donation_id
                ,a.material_name,a.material_specs,a.material_number
        from t_h_material a
        where a.donation_id=#{donationId}
    </select>


java类分别为:

package cn.org.emcs.materialapi.social.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors(chain = true)
public class DonationMeterialAllDTO {

    private int ids;
//    private String helpId;
    private String donationId;
    private List<MeterialDTO> meterialDTOS;
//        private String contacts;
//    //    前台传为userName
//    private String userName;
//    private String createTime;
//    private String date;
//    private String isAccept;

}
package cn.org.emcs.materialapi.social.dto;

import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
public class MeterialDTO {

    private String materialName;
    private String materialSpecs;
    private String materialNumber;


}
package cn.org.emcs.materialapi.social.dao;

import cn.org.emcs.materialapi.social.dto.DonationMeterialAllDTO;
import cn.org.emcs.materialapi.social.vo.DonationMeterialVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DonationMaterial {


    int insertDonationMaterial(DonationMeterialVO donationMeterialVO);

    /**
    * 通过helpId查询捐赠的物资
    */
    List<DonationMeterialVO> selectDonationMaterialByHelpId(DonationMeterialVO donationMeterialVO);

    /**通过donationId查询捐赠的物资
    *
    */
   DonationMeterialVO selectDonationMaterialByDonationId(DonationMeterialVO donationMeterialVO);

   /**
   * 通过donationId查询捐赠的物资2:将同一个捐献的物资保存到一个数组中
   */
   DonationMeterialAllDTO selectDonationMaterialByDonationId2(DonationMeterialVO donationMeterialVO);




}

多对多

当时多对多时,接收参数使用集合,如List< TestDTO>这样的形式!!!!!!
public List test();
注意2:
在这里插入图片描述
在collection标签下的另外一张表如果要取数据,不能直接给column赋值为id,需要重新起个其他的名字,要不然这个集合只能得到一条数据。
eg:

select qi.id as item_id ...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值