日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Hibernate一對一關(guān)系代碼實例

一對一的關(guān)系在數(shù)據(jù)庫中表示為主外關(guān)系.在Hibernate中的一對一關(guān)系通過映射實現(xiàn)。例如.人和身份證的關(guān)系.每個人都對應(yīng)一個身份證號.我們應(yīng)該兩個表.一個是關(guān)于人信息的表(user).別外一個是身份證相關(guān)信息的表(card).card表的主鍵對應(yīng)該user表的主鍵userid,也是user表的外鍵.有人才能有身份證.

在新疆等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站制作,新疆網(wǎng)站建設(shè)費用合理。

Users表

    CREATE TABLE `users` (
`user_id` int(11) NOT NULL auto_increment,
`user_name` varchar(20) default NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;


Card 表

    CREATE TABLE `card` (
`card_id` int(11) NOT NULL auto_increment,
`card_no` varchar(20) default NULL,
`user_id` int(11) default NULL,
PRIMARY KEY (`card_id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

JAVA 代碼

Users 類

    package org.yy.hbn.pojo;
public class Users implements java.io.Serializable {
private Integer userId;
private String userName;
private Card card; //Users對象中存一個Card 對象
public Users() {
}
public Users(String userName) {
this.userName = userName;
}
public Integer getUserId() {
return this.userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return this.userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Card getCard() {
return card;
}
public void setCard(Card card) {
this.card = card;
}
public Users(Integer userId, String userName, Card card) {
super();
this.userId = userId;
this.userName = userName;
this.card = card;
}
}


Card 類

   package org.yy.hbn.pojo;
public class Card implements java.io.Serializable {
private Integer cardId;
private String cardNo;
private Users users; //Card對象中存一個Users 對象
public Card(Integer cardId, String cardNo, Users users) {
super();
this.cardId = cardId;
this.cardNo = cardNo;
this.users = users;
}
public Card() {
}
public Integer getCardId() {
return this.cardId;
}
public void setCardId(Integer cardId) {
this.cardId = cardId;
}
public String getCardNo() {
return this.cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public Users getUsers() {
return users;
}
public void setUsers(Users users) {
this.users = users;
}
}

XML 代碼

Card.hbn.xml

    
     
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

 
 


 
 

 
 

 
 


Users.hbn.xml

   
     
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

 
 


 
 

 
 
   
 
 


hibernate.cfg.xml 代碼

   
     
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


root

jdbc:mysql://localhost:3306/test


org.hibernate.dialect.MySQLDialect

mysql

com.mysql.jdbc.Driver

true




JAVA 測試代碼

    package org.yy.hbn.test;
import org.hibernate.Transaction;
import org.hibernate.Session;
import org.yy.hbn.HibernateSessionFactory;
import org.yy.hbn.pojo.Card;
import org.yy.hbn.pojo.Users;
public class test {
public static void main(String[] args) {
select();
}
private static void add()
{
Session session=HibernateSessionFactory.getSession();
Transaction tran=session.beginTransaction();
try {
Users user=new Users();
user.setUserName("UU");
Card card=new Card();
card.setCardNo("89012345");
//卡跟用戶建立關(guān)系
card.setUsers(user);
//用戶也跟卡建立關(guān)系
user.setCard(card);
session.save(user);
tran.commit();
} catch (Exception e) {
 e.printStackTrace();
 tran.rollback();
}finally{
 HibernateSessionFactory.closeSession();

}
private static void select()
{
Session session=HibernateSessionFactory.getSession();
//查找用戶信息,可以通過用戶來找到對應(yīng)的卡的信息
Users user=(Users)session.get(Users.class,new Integer(1));
System.out.println(user.getUserName());
System.out.println(user.getCard().getCardNo());

【編輯推薦】

  1. 層層解析Hibernate中的事務(wù)的濫用
  2. 解析Hibernate中的事務(wù)管理
  3. 解析Hibernate的批量刪除功能
  4. Hibernate、Spring和Struts工作原理及使用理由

名稱欄目:Hibernate一對一關(guān)系代碼實例
路徑分享:http://www.dlmjj.cn/article/dghheoo.html