最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis配置對(duì)象包含對(duì)象以及List的方式

 更新時(shí)間:2021年06月21日 09:53:37   作者:xiao_maoqiu  
這篇文章主要介紹了mybatis配置對(duì)象包含對(duì)象以及List的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis配置對(duì)象包含對(duì)象及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;
	}
 
	/**
     * 場(chǎng)次名稱
     */
    @Column(name = "BATCH_NAME")
    private String batchName;
 
    /**
     * 會(huì)員名稱
     */
    @Column(name = "MEMBER_NAME")
    private String memberName;
 
    /**
     * 發(fā)起競(jìng)價(jià)的會(huì)員代碼
     */
    @Column(name = "MEMBER_CODE")
    private String memberCode;
 
    /**
     * 委托狀態(tài):0-已生成,1-已發(fā)布,2.競(jìng)價(jià)中 3-已撤消,4--已作廢,5-已完成
     */
    @Column(name = "BATCH_STATE")
    private String batchState;
 
    /**
     * 委托申請(qǐng)時(shí)間
     */
    @Column(name = "BATCH_DATE")
    private Date batchDate;
 
    /**
     * 結(jié)束時(shí)間
     */
    @Column(name = "END_TIME")
    private Date endTime;
 
    /**
     * 開始時(shí)間
     */
    @Column(name = "START_TIME")
    private Date startTime;
 
    /**
     * 履約保證金是否已經(jīng)支付 1 - 已經(jīng)支付 0 - 未支付(只有此狀態(tài)為1才允許開始拍賣)
     */
    @Column(name = "BOND_PAYMENT_STATUS")
    private String bondPaymentStatus;
 
    /**
     * 結(jié)算方式:1-場(chǎng)外結(jié)算(默認(rèn)) 2- 場(chǎng)內(nèi)結(jié)算
     */
    @Column(name = "SETTLEMENT_MODE")
    private String settlementMode;
 
    /**
     * 作廢時(shí)間
     */
    @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;
 
    /**
     * 申請(qǐng)操作員
     */
    @Column(name = "APPLY_OPERATOR")
    private String applyOperator;
 
    /**
     * 公告日
     */
    @Column(name = "ANNOUNCEMENT_DAY")
    private Date announcementDay;
 
    /**
     * 競(jìng)價(jià)日
     */
    @Column(name = "BID_DAY")
    private Date bidDay;
 
    /**
     * 買方保證金
     */
    @Column(name = "BUYER_DEPOSIT")
    private BigDecimal buyerDeposit;
 
    /**
     * 賣家保證金
     */
    @Column(name = "SELLER_BOND")
    private BigDecimal sellerBond;
 
    /**
     * 強(qiáng)制終止理由
     */
    @Column(name = "FORCED_TERMINATION_REASON")
    private String forcedTerminationReason;
 
    /**
     * 終止委托審核理由(待定)
     */
    @Column(name = "AUDIT_STOP_REASON")
    private String auditStopReason;
 
    /**
     * 終止委托審核時(shí)間(待定)
     */
    @Column(name = "AUDIT_STOP_DATE")
    private Date auditStopDate;
 
    /**
     * 終止委托申請(qǐng)理由(待定)
     */
    @Column(name = "APPLY_STOP_REASON")
    private String applyStopReason;
 
    /**
     * 終止委托申請(qǐng)時(shí)間(待定)
     */
    @Column(name = "APPLY_STOP_DATE")
    private Date applyStopDate;
 
    /**
     * 拒絕審核委托理由(待定)
     */
    @Column(name = "REFUSE_AUDIT_REASON")
    private String refuseAuditReason;
 
    /**
     * 委托審核時(shí)間(待定)
     */
    @Column(name = "AUDIT_TIME")
    private Date auditTime;
 
    /**
     * 定向競(jìng)價(jià)0否1是1
     */
    @Column(name = "IS_DIRECTIONAL_BID")
    private String isDirectionalBid;
 
    /**
     * 定向的原因,當(dāng)場(chǎng)次定向時(shí)必須輸入
     */
    @Column(name = "DIRECTIONAL_REASON")
    private String directionalReason;
 
    /**
     * 是否需要發(fā)送短信0不發(fā)送1發(fā)送
     */
    @Column(name = "IS_SEND_MESSAGE")
    private String isSendMessage;
 
    /**
     * 是否顯示中標(biāo)價(jià)格
     */
    @Column(name = "IS_SHOW_DEAL_PRICE")
    private String isShowDealPrice;
 
    /**
     * 是否顯示定價(jià)
     */
    @Column(name = "IS_SHOW_ORDER_PRICE")
    private String isShowOrderPrice;
 
    /**
     * 是否顯示中標(biāo)會(huì)員
     */
    @Column(name = "IS_SHOW_DEAL_MEMBER")
    private String isShowDealMember;
 
    /**
     * 最少響應(yīng)人數(shù)
     */
    @Column(name = "MINIMUM_RESPONSE")
    private String minimumResponse;
 
    /**
     * 是否顯示成交結(jié)果
     */
    @Column(name = "ISSHOWDEALRESULT")
    private String isshowdealresult;
 
    /**
     * 競(jìng)價(jià)模式:1-公開增價(jià),2自由報(bào)價(jià),3-荷式競(jìng)價(jià)
     */
    @Column(name = "BIDDING_TYPE")
    private String biddingType;
 
    /**
     * 報(bào)盤方式:1-單價(jià),2-總價(jià)
     */
    @Column(name = "OFFER_TYPE")
    private String offerType;
 
    /**
     * 是否顯示起拍價(jià) 1顯示(默認(rèn)) 2不顯示 
     */
    @Column(name = "IS_SHOW_STARTING_PIRCE")
    private String isShowStartingPirce;
 
    /**
     * 域名
     */
    @Column(name = "DOAMIN")
    private String doamin;
 
    /**
     * 協(xié)議
     */
    @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字面意思關(guān)聯(lián),這里只專門做一對(duì)一關(guān)聯(lián); property表示是com.mybatis.bean.StudentTemp中的屬性名稱; 
            javaType表示該屬性是什么類型對(duì)象 -->
        <!-- 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表示集合中的對(duì)象是什么類型 -->
        <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表示集合中的對(duì)象是什么類型 -->
        <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>

mybatis參數(shù)為對(duì)象中包含list情況處理

mybatis是一個(gè)非常好用且靈活的持久層框架,但也正是因?yàn)樘^(guò)靈活,導(dǎo)致有時(shí)候參數(shù)很難整理。我把我在項(xiàng)目中遇到的一個(gè)特殊情況列出來(lái),希望下次再碰到時(shí),也有個(gè)印象。

實(shí)體類如下:

package com.kxlive.erp.sc.stock.vo; 
import java.util.Date;
import java.util.List; 
import org.springframework.format.annotation.DateTimeFormat; 
import com.kxlive.erp.sc.stock.po.PurchaseDeliver; 

public class QueryPurchaseDeliverVo extends PurchaseDeliver{ 
	private Long merchantId;	
	private Long stockId;
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date startTime;//發(fā)貨開始時(shí)間
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date endTime;//發(fā)貨結(jié)束時(shí)間 
	private Integer page;//當(dāng)前頁(yè)	
	private Integer rows;//每頁(yè)記錄數(shù)	
	private String stockName;//倉(cāng)庫(kù)名	
	private String supplierName;//供應(yīng)商名稱	
	private List<Long> condSupplierIds;//供應(yīng)商IDs	
	private List<Integer> condStatuss;//狀態(tài)s
	public Date getStartTime() {
		return startTime;
	}
	
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
 
	public Date getEndTime() {
		return endTime;
	}
 
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
 
	public Integer getPage() {
		return page;
	}
 
	public void setPage(Integer page) {
		this.page = page;
	}
 
	public Integer getRows() {
		return rows;
	}
 
	public void setRows(Integer rows) {
		this.rows = rows;
	}
 
	public String getStockName() {
		return stockName;
	}
 
	public void setStockName(String stockName) {
		this.stockName = stockName;
	}
 
	public String getSupplierName() {
		return supplierName;
	}
 
	public void setSupplierName(String supplierName) {
		this.supplierName = supplierName;
	}
 
	public List<Long> getCondSupplierIds() {
		return condSupplierIds;
	}
 
	public void setCondSupplierIds(List<Long> condSupplierIds) {
		this.condSupplierIds = condSupplierIds;
	}
 
	public List<Integer> getCondStatuss() {
		return condStatuss;
	}
 
	public void setCondStatuss(List<Integer> condStatuss) {
		this.condStatuss = condStatuss;
	}
 
	public Long getMerchantId() {
		return merchantId;
	}
 
	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}
 
	public Long getStockId() {
		return stockId;
	}
 
	public void setStockId(Long stockId) {
		this.stockId = stockId;
	}
 
}

這里的實(shí)體類中,包含了一個(gè)List對(duì)象,所以在寫xml文件的時(shí)候多少對(duì)我這種菜鳥有點(diǎn)難度。

  <select id="selectPurchaseDeliverByPrimaryKeySelective" resultMap="purchaseResultMap">
    select
	t2. name stock_name,
	t3. supplier_name, t1.*
		from
			T_SC_PURCHASE_DELIVER t1
		left join T_SC_STOCK t2 on t1.purchase_stock_id = t2.id
		left join T_SC_SUPPLIER t3 on t1.supplier_id = t3.id
    <where>
    	<if test="queryCondition.ifDel != null">
    		and t1.if_del=#{queryCondition.ifDel,jdbcType=INTEGER}
    	</if>
 
    	<if test="queryCondition.condSupplierIds != null">
    	and t1.supplier_id in
    	<foreach collection="queryCondition.condSupplierIds" item="supplierId" index="index" separator="," open="(" close=")">
    		#{queryCondition.condSupplierIds[${index}],jdbcType=BIGINT}
    	</foreach>
    	</if>
    	<if test="queryCondition.condStatuss != null">
    	and t1.status in
    	<span style="color:#ff0000;"><foreach collection="queryCondition.condStatuss" item="status"  separator=","  index="index" open="(" close=")">
    		#{queryCondition.condStatuss[${index}],jdbcType=INTEGER}
    	</foreach></span>
    	</if>
    	<if test="queryCondition.merchantId != null">
    		and t1.merchant_id=#{queryCondition.merchantId,jdbcType=BIGINT}
    	</if>
    	    	<if test="queryCondition.stockId != null">
    		and t1.purchase_stock_id=#{queryCondition.stockId,jdbcType=BIGINT}
    	</if>
    	<if test="queryCondition.startTime != null">
    		 <![CDATA[ and DATE_FORMAT(t1.create_time, '%Y-%m-%d') >=  DATE_FORMAT(#{queryCondition.startTime}, '%Y-%m-%d')]]> 
    	</if>
    	<if test="queryCondition.endTime != null">
    		 <![CDATA[ and DATE_FORMAT(t1.create_time, '%Y-%m-%d') <=  DATE_FORMAT(#{queryCondition.endTime}, '%Y-%m-%d')]]> 
    	</if>
    	<if test="queryCondition.name != null and queryCondition.name != '' ">
    		and t1.name like CONCAT('%', #{queryCondition.name, jdbcType=VARCHAR}, '%') 
    	</if>
    	<if test="queryCondition.deliverNo != null">
    		and t1.deliver_no like CONCAT('%', #{queryCondition.deliverNo, jdbcType=VARCHAR}, '%') 
    	</if>
    </where>
    order by t1.create_time desc
  </select>

標(biāo)紅的地方,即為應(yīng)用。在foreach循環(huán)中,引用index作為list的下標(biāo),這樣即可將對(duì)象中的所有數(shù)據(jù)取出。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實(shí)現(xiàn)拼圖游戲

    java實(shí)現(xiàn)拼圖游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)拼圖游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 關(guān)于Mybatis實(shí)體別名支持通配符掃描問(wèn)題小結(jié)

    關(guān)于Mybatis實(shí)體別名支持通配符掃描問(wèn)題小結(jié)

    MyBatis可以使用簡(jiǎn)單的 XML 或注解來(lái)配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄,這篇文章主要介紹了Mybatis實(shí)體別名支持通配符掃描的問(wèn)題,需要的朋友可以參考下
    2022-01-01
  • springboot+vue?若依項(xiàng)目在windows2008R2企業(yè)版部署流程分析

    springboot+vue?若依項(xiàng)目在windows2008R2企業(yè)版部署流程分析

    這篇文章主要介紹了springboot+vue?若依項(xiàng)目在windows2008R2企業(yè)版部署流程,本次使用jar包啟動(dòng)后端,故而準(zhǔn)備打包后的jar文件,需要的朋友可以參考下
    2022-12-12
  • 詳解SpringMVC驗(yàn)證框架Validation特殊用法

    詳解SpringMVC驗(yàn)證框架Validation特殊用法

    本篇文章主要介紹了詳解SpringMVC驗(yàn)證框架Validation特殊用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • java中的類型自動(dòng)轉(zhuǎn)換機(jī)制解析

    java中的類型自動(dòng)轉(zhuǎn)換機(jī)制解析

    這篇文章主要介紹了java中的類型自動(dòng)轉(zhuǎn)換機(jī)制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java讀取郵件的方法

    Java讀取郵件的方法

    這篇文章主要介紹了Java讀取郵件的方法,以163郵件服務(wù)器為例說(shuō)明了Java讀取郵件的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • Spring常用注解及自定義Filter的實(shí)現(xiàn)

    Spring常用注解及自定義Filter的實(shí)現(xiàn)

    這篇文章主要介紹了Spring常用注解及自定義Filter的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • java中的DTO的使用示例

    java中的DTO的使用示例

    在Java中,DTO代表數(shù)據(jù)傳輸對(duì)象,本文主要介紹了java中的DTO的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • java發(fā)送HttpClient請(qǐng)求及接收請(qǐng)求結(jié)果過(guò)程的簡(jiǎn)單實(shí)例

    java發(fā)送HttpClient請(qǐng)求及接收請(qǐng)求結(jié)果過(guò)程的簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)?lái)一篇java發(fā)送HttpClient請(qǐng)求及接收請(qǐng)求結(jié)果過(guò)程的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • java -jar設(shè)置添加啟動(dòng)參數(shù)實(shí)現(xiàn)方法

    java -jar設(shè)置添加啟動(dòng)參數(shù)實(shí)現(xiàn)方法

    這篇文章主要介紹了java -jar設(shè)置添加啟動(dòng)參數(shù)實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評(píng)論

西平县| 读书| 美姑县| 邵阳市| 高尔夫| 都兰县| 江都市| 阿拉尔市| 云和县| 耒阳市| 武宣县| 清新县| 贡嘎县| 绥阳县| 安龙县| 涞源县| 岳池县| 滁州市| 呼伦贝尔市| 南充市| 六安市| 特克斯县| 措勤县| 云梦县| 周至县| 崇明县| 儋州市| 仲巴县| 营口市| 大冶市| 阜康市| 中方县| 聂荣县| 布尔津县| 翁牛特旗| 察雅县| 布尔津县| 林口县| 杨浦区| 高州市| 定日县|