hibernate多對一的配置manytoone

1.老套路先導包在說

我這的包是導的路徑包,也可以把包放在項目裏但項目多了會卡頓我就導的路徑

2.建立實體類(客戶)Customer和定單Order:定單有很多個而客戶只有一個,也就是多個訂單都是一個客戶定的,所以形成多對一的關係

下面是建的custcmer.java類

public class Customer {
private Integer cid;
private String name;
public Integer getCid() {
    return cid;
}
public void setCid(Integer cid) {
    this.cid = cid;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
@Override
public String toString() {
    return "Customer [cid=" + cid + ", name=" + name + "]";
}
}
 

就倆個屬性然後寫上他們的同tostring方法和set,get方法

下面是Order.java類

一個id屬性一個name屬性還有一個客戶對象類型,然後加上tostring方法

private Integer oid;
private String oname;
private Customer customer;
@Override
public String toString() {
    return "Order [oid=" + oid + ", oname=" + oname + ", customer=" + customer + "]";
}
public Integer getOid() {
    return oid;
}
public void setOid(Integer oid) {
    this.oid = oid;
}
public String getOname() {
    return oname;
}
public void setOname(String oname) {
    this.oname = oname;
}
public Customer getCustomer() {
    return customer;
}
public void setCustomer(Customer customer) {
    this.customer = customer;
}
}
3.在建的實體類下面寫上客戶和訂單的配置文件

下面是訂單的映射文件

 

 

先寫頭直接複製

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

然後解釋看上面的

接下來是客戶的映射文件

同樣要加上頭直接複製上面的一樣上面圖片站不下我就沒截圖,解釋看上面圖

4.寫核心配置文件在src下

注意路徑問題容易出錯解釋看上面的

5.接下來寫測試文件

創一個包在建一個類

package test;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class test {
    @Test
    public void test() {
          Configuration cfg = new Configuration().configure();
          SessionFactory sessionFactory = cfg.buildSessionFactory();
    }

}

直接然後運行

上面的圖表示成功

打開數據庫就看見多了兩張表

7.現在創建數據

 public void test() {

      Configuration cfg = new Configuration().configure();

      SessionFactory sessionFactory = cfg.buildSessionFactory();

      Session session = sessionFactory.openSession();

      Transaction tx = session.beginTransaction();

     

//    先創建一個用戶

      Customer customer = new Customer();

      customer.setName("9527");

     

//    在創建一個訂單

      Order order = new Order();

      order.setOname("奧利奧");

//    訂單中添加用戶

      order.setCustomer(customer);

//    保存用戶

      session.save(customer);

//    保存訂單

      session.save(order);

     

      tx.commit();

     

      session.close();

      sessionFactory.close();

   }

執行後會得到下面圖

現在hibernate的多對一就完了

有什麼問題直接留言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章