日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2一对多配置

發布時間:2023/12/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2一对多配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在多表映射配置時,我們應該遵循以下不步驟:

  • 確定兩張表之間的關系
  • 在數據庫中實現兩張表之間的關系建立
  • 在實體類中描述出兩個實體類之間的關系
  • 在映射配置文件中建立兩個實體和兩張表之間的關系
    我們就按照上面的步驟做,我這里有一張聯系人表和一張客戶表,一對多關系,實體類代碼如下:
  • /*** 客戶的實體類* @author dengg**/ public class Customer {private Long custId;private String custName;private String custSource;private String custIndustry;private String custLevel;private String custAddress;private String custPhone;public Long getCustId() {return custId;}public void setCustId(Long custId) {this.custId = custId;}public String getCustName() {return custName;}public void setCustName(String custName) {this.custName = custName;}public String getCustSource() {return custSource;}public void setCustSource(String custSource) {this.custSource = custSource;}public String getCustIndustry() {return custIndustry;}public void setCustIndustry(String custIndustry) {this.custIndustry = custIndustry;}public String getCustLevel() {return custLevel;}public void setCustLevel(String custLevel) {this.custLevel = custLevel;}public String getCustAddress() {return custAddress;}public void setCustAddress(String custAddress) {this.custAddress = custAddress;}public String getCustPhone() {return custPhone;}public void setCustPhone(String custPhone) {this.custPhone = custPhone;}@Overridepublic String toString() {return "Customer [custId=" + custId + ", custName=" + custName + ", custSource=" + custSource+ ", custIndustry=" + custIndustry + ", custLevel=" + custLevel + ", custAddress=" + custAddress+ ", custPhone=" + custPhone + "]";}public Customer(Long custId, String custName) {super();this.custId = custId;this.custName = custName;}public Customer() {}} /*** 聯系人的實體類* @author dengg**/ public class LinkMan implements Serializable {private Long lkmId;private String lkmName;private String lkmPhone;private String lkmMobile;private String lkmEmail;private String lkmPosition;private String lkmMemo;public Long getLkmId() {return lkmId;}public void setLkmId(Long lkmId) {this.lkmId = lkmId;}public String getLkmName() {return lkmName;}public void setLkmName(String lkmName) {this.lkmName = lkmName;}public String getLkmPhone() {return lkmPhone;}public void setLkmPhone(String lkmPhone) {this.lkmPhone = lkmPhone;}public String getLkmMobile() {return lkmMobile;}public void setLkmMobile(String lkmMobile) {this.lkmMobile = lkmMobile;}public String getLkmEmail() {return lkmEmail;}public void setLkmEmail(String lkmEmail) {this.lkmEmail = lkmEmail;}public String getLkmPosition() {return lkmPosition;}public void setLkmPosition(String lkmPosition) {this.lkmPosition = lkmPosition;}public String getLkmMemo() {return lkmMemo;}public void setLkmMemo(String lkmMemo) {this.lkmMemo = lkmMemo;}@Overridepublic String toString() {return "LinkMan [lkmId=" + lkmId + ", lkmName=" + lkmName + ", lkmPhone=" + lkmPhone + ", lkmMobile="+ lkmMobile + ", lkmEmail=" + lkmEmail + ", lkmPosition=" + lkmPosition + ", lkmMemo=" + lkmMemo + "]";}}

    第二步在數據庫中實現兩張表之間的關系建立,因為我用了hibernate,會自動創建,就不弄了
    第三步在實體類中描述出兩個實體類之間的關系:
    首先我們在Customer類中配置LinkMan類的關系,一個客戶對應多個聯系人
    我們在Customer加入如下代碼:

    private Set<LinkMan> likmans = new HashSet<LinkMan>(0);public Set<LinkMan> getLikmans() {return likmans;}public void setLikmans(Set<LinkMan> likmans) {this.likmans = likmans;}

    主表應該包含從表實體的集合引用,用set集合來建立關系,再配置set和get方法,就行了。
    接著配置LinkMan,加入代碼如下:

    private Customer customer;public Customer getCustomer() {return customer;}public void setCustomer(Customer customer) {this.customer = customer;}

    第四步在映射配置文件中建立兩個實體和兩張表之間的關系:
    我們先打開Customer.hbm.xml文件,里面加入配置如下:

    <set name="likmans" table="cust_linkman"><key column="lkm_cust_id"></key><one-to-many class="LinkMan"/></set>

    name:就是我們在Customer類中設置set集合的名字
    table:指定從表的名字,也就是聯系人表名
    key:指定外鍵字段名
    one-to-many:指定從表實體名稱
    然后打開LinkMan.hbm.xml文件,在里面加入如下代碼:

    <many-to-one name="customer" class="Customer" column="lkm_cust_id"></many-to-one>

    name:從表實體引用主表實體對象引用的名稱嗎,就是在LinkMan類中設置Customer對象的名稱
    class:指定屬性所對應的實體類名稱,就是Customer路徑
    column:指定外鍵的名稱

    總結

    以上是生活随笔為你收集整理的Struts2一对多配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。