mybatis配置对象包含对象以及List

这里隐藏get set方法

public class BatchManagerViewVo  implements Serializable{

	/**
	* @Description: serialVersionUID : TODO
	*/ 
	private static final long serialVersionUID = 1L;

	private List<ResourcesItemDto> resourceItem;
	
	private List<PriceInfoDto> priceInfo;
	
	/**
     * 主键(PM200600001)
     */
    @Id
    @Column(name = "ID")
    private String id;

    public List<ResourcesItemDto> getResourceItem() {
		return resourceItem;
	}
	public void setResourceItem(List<ResourcesItemDto> resourceItem) {
		this.resourceItem = resourceItem;
	}
	public List<PriceInfoDto> getPriceInfo() {
		return priceInfo;
	}
	public void setPriceInfo(List<PriceInfoDto> priceInfo) {
		this.priceInfo = priceInfo;
	}

	/**
     * 场次名称
     */
    @Column(name = "BATCH_NAME")
    private String batchName;

    /**
     * 会员名称
     */
    @Column(name = "MEMBER_NAME")
    private String memberName;

    /**
     * 发起竞价的会员代码
     */
    @Column(name = "MEMBER_CODE")
    private String memberCode;

    /**
     * 委托状态:0-已生成,1-已发布,2.竞价中 3-已撤消,4--已作废,5-已完成
     */
    @Column(name = "BATCH_STATE")
    private String batchState;

    /**
     * 委托申请时间
     */
    @Column(name = "BATCH_DATE")
    private Date batchDate;

    /**
     * 结束时间
     */
    @Column(name = "END_TIME")
    private Date endTime;

    /**
     * 开始时间
     */
    @Column(name = "START_TIME")
    private Date startTime;

    /**
     * 履约保证金是否已经支付 1 - 已经支付 0 - 未支付(只有此状态为1才允许开始拍卖)
     */
    @Column(name = "BOND_PAYMENT_STATUS")
    private String bondPaymentStatus;

    /**
     * 结算方式:1-场外结算(默认) 2- 场内结算
     */
    @Column(name = "SETTLEMENT_MODE")
    private String settlementMode;

    /**
     * 作废时间
     */
    @Column(name = "INVALID_DATE")
    private Date invalidDate;

    /**
     * 审核操作员
     */
    @Column(name = "AUDIT_OPERATOR")
    private String auditOperator;

    /**
     * 终止操作员
     */
    @Column(name = "STOP_OPERATOR")
    private String stopOperator;

    /**
     * 作废操作员
     */
    @Column(name = "INVALID_OPERATOR")
    private String invalidOperator;

    /**
     * 申请操作员
     */
    @Column(name = "APPLY_OPERATOR")
    private String applyOperator;

    /**
     * 公告日
     */
    @Column(name = "ANNOUNCEMENT_DAY")
    private Date announcementDay;

    /**
     * 竞价日
     */
    @Column(name = "BID_DAY")
    private Date bidDay;

    /**
     * 买方保证金
     */
    @Column(name = "BUYER_DEPOSIT")
    private BigDecimal buyerDeposit;

    /**
     * 卖家保证金
     */
    @Column(name = "SELLER_BOND")
    private BigDecimal sellerBond;

    /**
     * 强制终止理由
     */
    @Column(name = "FORCED_TERMINATION_REASON")
    private String forcedTerminationReason;

    /**
     * 终止委托审核理由(待定)
     */
    @Column(name = "AUDIT_STOP_REASON")
    private String auditStopReason;

    /**
     * 终止委托审核时间(待定)
     */
    @Column(name = "AUDIT_STOP_DATE")
    private Date auditStopDate;

    /**
     * 终止委托申请理由(待定)
     */
    @Column(name = "APPLY_STOP_REASON")
    private String applyStopReason;

    /**
     * 终止委托申请时间(待定)
     */
    @Column(name = "APPLY_STOP_DATE")
    private Date applyStopDate;

    /**
     * 拒绝审核委托理由(待定)
     */
    @Column(name = "REFUSE_AUDIT_REASON")
    private String refuseAuditReason;

    /**
     * 委托审核时间(待定)
     */
    @Column(name = "AUDIT_TIME")
    private Date auditTime;

    /**
     * 定向竞价0否1是1
     */
    @Column(name = "IS_DIRECTIONAL_BID")
    private String isDirectionalBid;

    /**
     * 定向的原因,当场次定向时必须输入
     */
    @Column(name = "DIRECTIONAL_REASON")
    private String directionalReason;

    /**
     * 是否需要发送短信0不发送1发送
     */
    @Column(name = "IS_SEND_MESSAGE")
    private String isSendMessage;

    /**
     * 是否显示中标价格
     */
    @Column(name = "IS_SHOW_DEAL_PRICE")
    private String isShowDealPrice;

    /**
     * 是否显示定价
     */
    @Column(name = "IS_SHOW_ORDER_PRICE")
    private String isShowOrderPrice;

    /**
     * 是否显示中标会员
     */
    @Column(name = "IS_SHOW_DEAL_MEMBER")
    private String isShowDealMember;

    /**
     * 最少响应人数
     */
    @Column(name = "MINIMUM_RESPONSE")
    private String minimumResponse;

    /**
     * 是否显示成交结果
     */
    @Column(name = "ISSHOWDEALRESULT")
    private String isshowdealresult;

    /**
     * 竞价模式:1-公开增价,2自由报价,3-荷式竞价
     */
    @Column(name = "BIDDING_TYPE")
    private String biddingType;

    /**
     * 报盘方式:1-单价,2-总价
     */
    @Column(name = "OFFER_TYPE")
    private String offerType;

    /**
     * 是否显示起拍价 1显示(默认) 2不显示 
     */
    @Column(name = "IS_SHOW_STARTING_PIRCE")
    private String isShowStartingPirce;

    /**
     * 域名
     */
    @Column(name = "DOAMIN")
    private String doamin;

    /**
     * 协议
     */
    @Column(name = "EDITMENT")
    private String editment;
} 


 <select id="findSellerBatchInfo" parameterType="com.ouyeel.chem.bdt.search.BatchManagerSerachModel" resultMap="batchInfoMap">
  	select 
	  	batch.ID,
	  	batch.BATCH_NAME,
	  	batch.BATCH_STATE batch_state,
	  	batch.START_TIME batch_start_time,
	  	batch.END_TIME batch_end_time,
	  	batch.IS_DIRECTIONAL_BID batch_is_direc,
	  	batch.BUYER_DEPOSIT batch_buyer_deposit,
	  	batch.BIDDING_TYPE batch_bidding_type,
	  	batch.OFFER_TYPE batch_offer_type,
	  	batch.BATCH_DATE batch_date,
	  	batch.ANNOUNCEMENT_DAY batch_announ,
	  	batch.BID_DAY batch_bid_day,
	  	price.id price_id, 
	  	price.STARTING_PIRCE price_starting_price,
	  	price.BIDDING_GRADIENT price_bidding_gradient,
	  	price.TAX_RATE price_tax_rate,
	  	price.TAX_FREE_PRICE price_tax_free_price,
	  	price.RESERVE_PRICE price_reserve_price,
	  	item.PRODUCT_NAME item_product_name,
	  	item.PRODUCT_NO item_product_no,
	  	item.PACKAGES item_packages,
	  	item.ORIGIN_PLACE item_origin_place,
	  	item.WAREHOUSE_NAME item_warehouse,
	  	item.PIECE_UNIT item_piece_unit,
	  	item.TRADING_WEIGHT item_trading_weight
  	from bdt_batch batch
  	left join bdt_resources_item item on item.batch_id = batch.id 
	left join bdt_price_info price on price.batch_id = batch.id and item.id = price.item_id  
	where batch.member_code = #{memberCode,jdbcType=VARCHAR}<!--  and batch.id = 'P170508005' -->
	  	<if test="id != null and id != '' ">
	  	and batch.id like '%${id}%'
	  	</if>
	  	<if test="startTime != null and startTime != '' ">
	  	and batch.batch_date >= #{startTime,jdbcType=TIMESTAMP}
	  	</if>
	  	<if test="endTime != null and endTime != '' ">
	  	and batch.batch_date <= #{endTime,jdbcType=TIMESTAMP}
	  	</if>
	  	<if test="batchState != null and batchState != '' ">
	  	and batch.batch_state = #{batchState,jdbcType=VARCHAR}
	  	</if>
		<if test="sidx != null and sidx != '' ">
	  	order by batch.${sidx} ${sord}
	  	</if>
	  	<if test="sidx == null or sidx ==''">
	  	order by batch.id desc
	  	</if>
  </select>

<resultMap type="com.ouyeel.chem.bdt.entity.vo.BatchManagerViewVo" id="batchInfoMap">
        <!-- association字面意思关联,这里只专门做一对一关联; property表示是com.mybatis.bean.StudentTemp中的属性名称; 
            javaType表示该属性是什么类型对象 -->
        <!-- property 表示com.mybatis.bean.Class中的属性; column 表示表中的列名 -->
        <id property="id" column="id"/>
	    <result property="batchName" column="batch_name"/>
	    <result property="startTime" column="batch_start_time"/>
	    <result property="endTime" column="batch_end_time"/>
	    <result property="isDirectionalBid" column="batch_is_direc"/>
	    <result property="batchState" column="batch_state"/>
	    <result property="buyerDeposit" column="batch_buyer_deposit"/>
	    <result property="biddingType" column="batch_bidding_type"/>
	    <result property="offerType" column="batch_offer_type"/>
	    <result property="batchDate" column="batch_date"/>
	    <result property="announcementDay" column="batch_announ"/>
	    <result property="bidDay" column="batch_bid_day"/>
        <!-- property表示集合类型属性名称,ofType表示集合中的对象是什么类型 -->
        <collection property="priceInfo" ofType="com.ouyeel.chem.bdt.entity.PriceInfoDto">
            <id property="id" column="price_id"/>
       		<result property="startingPirce" column="price_starting_price"/>
       		<result property="biddingGradient" column="price_bidding_gradient"/>
       		<result property="taxRate" column="price_tax_rate"/>
       		<result property="taxFreePrice" column="price_tax_free_price"/>
       		<result property="reservePrice" column="price_reserve_price"/>
        </collection>
       <!--  property表示集合类型属性名称,ofType表示集合中的对象是什么类型 -->
        <collection property="resourceItem" ofType="com.ouyeel.chem.bdt.entity.ResourcesItemDto">
       		<result property="productName" column="item_product_name"/>
       		<result property="productNo" column="item_product_no"/>
       		<result property="packages" column="item_packages"/>
       		<result property="originPlace" column="item_origin_place"/>
       		<result property="warehouseName" column="item_warehouse"/>
       		<result property="pieceUnit" column="item_piece_unit"/>
       		<result property="tradingWeight" column="item_trading_weight"/>
        </collection>
  </resultMap>

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,针对你的问题,我可以给你一个示例: 假设你有一个订单(Order)对象,每个订单有多个商品(Item)。你想要查询一个订单及其包含的所有商品,可以使用MyBatis的一对多映射关系。 首先,定义Order对象和Item对象: ```java public class Order { private int id; private String orderNo; private List<Item> items; // getter和setter方法 } public class Item { private int id; private String name; private int count; // getter和setter方法 } ``` 然后,定义一个Mapper接口,查询一个订单以及其包含的所有商品: ```java public interface OrderMapper { Order selectOrderById(int id); } ``` 在这个接口中,我们只需要定义一个方法,通过订单ID查询订单及其包含的所有商品。现在,我们需要编写一个对应的XML映射文件: ```xml <mapper namespace="com.example.mapper.OrderMapper"> <resultMap id="orderMap" type="Order"> <id property="id" column="id"/> <result property="orderNo" column="order_no"/> <!-- 配置一对多关系 --> <collection property="items" ofType="Item"> <id property="id" column="item_id"/> <result property="name" column="name"/> <result property="count" column="count"/> </collection> </resultMap> <select id="selectOrderById" resultMap="orderMap"> SELECT o.id, o.order_no, i.id AS item_id, i.name, i.count FROM orders o LEFT JOIN items i ON o.id = i.order_id WHERE o.id = #{id} </select> </mapper> ``` 在这个XML文件中,我们首先定义了一个resultMap,用于将查询结果映射到Order对象中。在resultMap中,我们定义了一对多的映射关系,将订单对象和商品对象关联起来。然后,我们定义了一个select语句,根据订单ID查询订单及其包含的所有商品。最后,我们将resultMap和select语句关联起来。 现在,我们就可以在OrderMapper中调用selectOrderById方法,查询一个订单及其包含的所有商品了。查询结果会包含一个Order对象,其中的items属性是一个List集合,包含了该订单的所有商品。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值