`
守望者
  • 浏览: 55352 次
  • 来自: ...
社区版块
存档分类
最新评论

菜鸟学习hibernate笔记<四>

阅读更多

数据库中表的关联关系---one to one

数据库

CREATE TABLE `card` (
  `cardid` int(11) NOT NULL auto_increment,
  `cardnum` int(11) default NULL,

xml 代码


  PRIMARY KEY  (`cardid`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

CREATE TABLE `user` (
  `userid` int(11) NOT NULL auto_increment,
  `username` varchar(32) default NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

java 代码
  1. public class User  implements java.io.Serializable {   
  2.     private Integer userid;   
  3.      private String username;   
  4.      private Card card;   
  5.   
  6.    public Card getCard() {   
  7.         return card;   
  8.     }   
  9.   
  10.   
  11.     public void setCard(Card card) {   
  12.         this.card = card;   
  13.     }   
  14.   
  15.   
  16.     public User() {   
  17.     }   
  18.   
  19.        
  20.     /** full constructor */  
  21.     public User(String username) {   
  22.         this.username = username;   
  23.     }   
  24.   
  25.    public Integer getUserid() {   
  26.         return this.userid;   
  27.     }   
  28.        
  29.     public void setUserid(Integer userid) {   
  30.         this.userid = userid;   
  31.     }   
  32.   
  33.     public String getUsername() {   
  34.         return this.username;   
  35.     }   
  36.        
  37.     public void setUsername(String username) {   
  38.         this.username = username;   
  39.     }   
  40.    }  
xml 代码user.hbm.xml
  1. <!---->xml version="1.0" encoding="utf-8"?>  
  2. <!---->
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  4. <!---->  
  5. <hibernate-mapping>  
  6.     <class name="org.eimhe.User" table="user">  
  7.         <id name="userid" type="java.lang.Integer">  
  8.             <column name="userid" />  
  9.             <generator class="native" />  
  10.         id>  
  11.         <property name="username" type="java.lang.String">  
  12.             <column name="username" length="20" />  
  13.         property>  
  14.         <one-to-one name="card" class="org.eimhe.Card" cascade="all">one-to-one>  
  15.     class>  
  16. hibernate-mapping>  
java 代码
  1. public class Card  implements java.io.Serializable {   
  2.     private Integer cardid;   
  3.      private Integer cardnum;   
  4.      private User user;   
  5.     
  6.     public User getUser() {   
  7.         return user;   
  8.     }   
  9.   
  10.   
  11.     public void setUser(User user) {   
  12.         this.user = user;   
  13.     }   
  14.   
  15.   
  16. public Card() {   
  17.     }   
  18.   
  19.        
  20.     /** full constructor */  
  21.     public Card(Integer cardnum) {   
  22.         this.cardnum = cardnum;   
  23.     }   
  24.   
  25.       
  26.     // Property accessors   
  27.   
  28.     public Integer getCardid() {   
  29.         return this.cardid;   
  30.     }   
  31.        
  32.     public void setCardid(Integer cardid) {   
  33.         this.cardid = cardid;   
  34.     }   
  35.   
  36.     public Integer getCardnum() {   
  37.         return this.cardnum;   
  38.     }   
  39.        
  40.     public void setCardnum(Integer cardnum) {   
  41.         this.cardnum = cardnum;   
  42.     }   
  43.    }  
xml 代码card.hbm.xml
  1. <!---->xml version="1.0" encoding="utf-8"?>  
  2. <!---->
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  4. <!---->  
  5. <hibernate-mapping>  
  6.     <class name="org.eimhe.Card" table="card">  
  7.         <id name="cardid" type="java.lang.Integer">  
  8.             <column name="cardid" />  
  9.             <generator class="foreign" >  
  10.                 <param name="property">userparam>  
  11.             generator>  
  12.         id>  
  13.         <property name="cardnum" type="java.lang.Integer">  
  14.             <column name="cardnum" />  
  15.         property>  
  16.         <one-to-one name="user" class="org.eimhe.User">one-to-one>  
  17.     class>  
  18. hibernate-mapping>  
java 代码
  1. import org.hibernate.Session;   
  2. import org.hibernate.Transaction;   
  3.   
  4. public class UserDAO {   
  5.     public void save(User user)   
  6.     {   
  7.         Session session=HibernateSessionFactory.getSession();   
  8.         Transaction tx=session.beginTransaction();   
  9.             session.save(user);   
  10.         tx.commit();   
  11.     }   
  12. }  
java 代码
  1. import java.io.IOException;   
  2. import java.io.PrintWriter;   
  3.   
  4. import javax.servlet.ServletException;   
  5. import javax.servlet.http.HttpServlet;   
  6. import javax.servlet.http.HttpServletRequest;   
  7. import javax.servlet.http.HttpServletResponse;   
  8.   
  9. public class addUser extends HttpServlet {   
  10.   
  11.   
  12.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
  13.             throws ServletException, IOException {   
  14.         User user=new User();   
  15.         user.setUsername("zhangsan1");   
  16.         Card card=new Card();   
  17.         user.setCard(card);   
  18.         card.setCardnum(new Integer(9));   
  19.         card.setUser(user);   
  20.         UserDAO userdao=new UserDAO();   
  21.         userdao.save(user);   
  22.     }   
  23.   
  24.        
  25.     public void doPost(HttpServletRequest request, HttpServletResponse response)   
  26.             throws ServletException, IOException {   
  27.   
  28.     doGet(request,response);   
  29.     }   
  30.   
  31. }   

 

分享到:
评论

相关推荐

    java文集

    &lt;br&gt;ext学习笔记一&lt;br&gt;小试iBatis&lt;br&gt;RIA(Rich Internet Application)的现状和未来&lt;br&gt;Java应用中域名解析不过期的解决方法&lt;br&gt;Java编程那些事儿45—数组使用示例1&lt;br&gt;一步步熟悉OFBiz&lt;br&gt;用Java做客户端调用.NET写...

    Spring 和Hibernate 整合笔记和jar包

    在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全面的后端应用框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,而Hibernate则是一个强大的ORM(对象...

    spring笔记

    在了解和学习Spring笔记中的Hibernate知识点时,我们能掌握如何利用Hibernate框架简化数据库操作,并深入理解其底层实现原理。这些知识点能帮助开发者高效地进行Java持久层的开发,提高代码质量和开发效率。

    通用后台管理界面框架.rar

    它引入了新的标签,如&lt;section&gt;、&lt;article&gt;和&lt;footer&gt;,使得页面结构更加清晰,增强了语义化。同时,HTML5还提供了离线存储、拖放功能、媒体元素等特性,使得后台管理界面更加互动和便捷。 二、Java:作为服务器端...

    java笔记--从菜鸟到j2se j2ee高手之路

    本笔记旨在帮助初学者从零基础逐步提升至J2SE(Java Standard Edition)和J2EE(Java Enterprise Edition)的高手水平。J2SE是Java的核心部分,提供了用于桌面应用程序和服务器端开发的基础框架;而J2EE则是Java在...

    2024最新版python、Java视频教程包括视频、笔记、源码

    视频教程提供了直观的学习方式,笔记能够帮助学习者梳理和复习重点知识,源码的提供则可以让学习者直接看到代码是如何被编写的,从而更好地理解编程概念。通过这样的学习材料,配合大量的实践和项目练习,学习者能够...

    extjs菜鸟做的动态accordion加动态tree

    标题中的“extjs菜鸟做的动态accordion加动态tree”意味着这个项目是初学者使用EXTJS库构建的一个功能,其中包括了动态的Accordion组件和动态的Tree组件。EXTJS是一个强大的JavaScript前端框架,它提供了丰富的用户...

    李兴华老师.rar

    李兴华老师的笔记涵盖了Servlet、JSP、JSTL、EL表达式等Web开发基础,深入讲解了MVC设计模式以及Struts、Spring、Hibernate等主流框架的使用。此外,他还对EJB(Enterprise JavaBeans)进行了介绍,让读者了解企业级...

    spring3.2.4

    4. **数据访问**:Spring 3.2.4加强了对JDBC、Hibernate、MyBatis等数据访问技术的支持,包括对JPA 2.1的支持,使得数据库操作更加方便和高效。 5. **事务管理**:Spring的事务管理功能在3.2.4中得到了增强,支持...

Global site tag (gtag.js) - Google Analytics