偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Hibernate一對(duì)一關(guān)系代碼實(shí)例

開發(fā) 后端
本文通過Users表、Card表和示例代碼對(duì)Hibernate一對(duì)一例子進(jìn)行的講解,希望讀者可以掌握Hibernate中的一對(duì)一關(guān)系。

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


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對(duì)象中存一個(gè)Card 對(duì)象
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對(duì)象中存一個(gè)Users 對(duì)象
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

    
"
 
 


 

 

 

 

 
 


Users.hbn.xml
   
"
 
 


 

 

 

 
   
 

 


hibernate.cfg.xml 代碼
   
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "

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();
//查找用戶信息,可以通過用戶來找到對(duì)應(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工作原理及使用理由
責(zé)任編輯:張攀 來源: 百度空間
相關(guān)推薦

2009-06-03 16:27:27

Hibernate一對(duì)一關(guān)系

2009-06-04 16:14:22

Hibernate一對(duì)Hibernate一對(duì)Hibernate多對(duì)

2012-03-21 11:43:41

JavaHibernate

2009-09-22 09:55:58

Hibernate實(shí)例

2009-06-04 10:34:19

Hibernate一對(duì)一對(duì)多關(guān)系配置

2012-02-08 13:34:08

HibernateJava

2010-04-15 09:09:02

Hibernate

2009-08-17 10:34:51

NHibernate一

2009-06-26 10:15:54

面試HR

2009-12-23 09:31:11

寬帶路由上網(wǎng)故障

2009-09-23 10:37:50

Hibernate一對(duì)

2012-03-13 16:29:54

Between情侶移動(dòng)應(yīng)用

2013-10-12 16:41:01

微軟微軟CEO鮑爾默

2009-06-24 15:49:54

Entity Bean一對(duì)一映射

2009-09-23 10:57:02

Hibernate一對(duì)

2009-10-22 18:24:35

數(shù)字化教學(xué)教育

2012-12-14 09:54:31

英特爾數(shù)字化學(xué)習(xí)年會(huì)

2015-07-30 13:08:56

英特爾一對(duì)一數(shù)字化學(xué)習(xí)

2012-02-03 10:54:50

HibernateJava

2012-07-11 22:30:51

教育信息化英特爾
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)