ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:686.62KB ,
资源ID:4770823      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4770823.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVAEE Hibernate关系映射实验剖析.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVAEE Hibernate关系映射实验剖析.docx

1、JAVA EE Hibernate关系映射实验剖析实验六:Hibernate关系映射实验名称Hibernate关系映射实验步骤一、一对一共享主键方式的关系映射1. 创建Java project,命名为 lab62. 建立数据库及表结构(特别注意:在创建数据库时选择字符集,例如为gbk,校对规则为gbk_chinese_ci。否则不能显示中文字符)登录表:login列名描述数据类型可空默认值说明IDID号int(4)否无主键USERNAME登录账号varchar(20)是无PASSWORD登录密码varchar(20)是无用户详细信息表:detail列名描述数据类型可空默认值说明IDID号int

2、(4)否无主键,自增TRUENAME真实姓名varchar(8)是无EMAIL电子邮件varchar(50)是无3在MyEclipse中创建对MySQL的连接1)切换到“MyEclipse Database Explorer”视图,新建MySQL数据库连接驱动。启动MyEclipse,选择【Window】【Open Perspective】【MyEclipse Database Explorer】菜单项,打开MyEclipse Database浏览器,右击菜单,如下图所示,选择【New】菜单项,出现如图所示的对话框,编辑数据库连接驱动。Driver template:MySQL Connect

3、or/JDriver name:com.mysql.jdbc.Driver(在url中添加characterEncoding参数,否则在数据库中不能显示中文)Connection URL:jdbc:mysql:/localhost:3306/javaee?characterEncoding=gbk注:javaee要修改成你所使用的数据库名称User name:rootPassword:JDBC驱动存放位置:c盘lib文件夹下2)测试连接:在MyEclipse Database浏览器中,右击刚才创建的MyConn数据库连接,选择“Open connection”菜单项,打开名为“MyConn”的

4、数据连接,如图所示: 4. 添加Hibernate开发能力右击项目名lab6,选择【MyEclipse】【Add Hibernate Capabilites】菜单项,出现如下图所示的对话框,选择Hibernate框架应用版本及所需要的类库。单击【Next】按钮,进入如下图所示界面。创建Hibernate配置文件hibernate.cfg.xml,将该文件放在src文件夹下,后面会详细介绍该文件内容。这里先说明添加Hibernate开发功能的步骤。单击【Next】按钮,进入如下图所示界面,指定Hibernate数据库连接细节。由于在前面已经配置一个名为MyConn的数据库连接,所以这里只需要选择

5、DB Driver为“MyConn”即可。单击【Next】按钮,出现如下图所示界面。Hibernate中有一个与数据库打交道重要的类Session。而这个类是由工厂SessionFactory创建的。这个界面询问是否需要创建SessionFactory类。如果需要创建,还需要指定创建的位置和类名。这些接口都会在后面详细介绍。单击【Finish】按钮,完成Hibernate的配置。5. 生成数据库表对应的Java类对象和映射文件在MyEclispse下创建一个名为“org.model”的包,这个包将用来存放与数据库表对应的Java类POJO。打开MyEclipse Database Explor

6、er视图。打开前面创建的MyConn数据连接,选择【XSCJ】【TABLE】菜单项,右击相应表(登录表和用户信息表),选择【Hibernate Reverse Engineering】菜单项,如下图所示,将启动Hibernate Reverse Engineering向导,该向导用于完成从已有的数据库表生成对应的Java类和相关映像文件的配置工作。首先,选择生成的Java类和映像文件所在的位置,如图所示。单击【Next】按钮,进入如图所示的界面,选择主键生成策略。 下面列举需要修改的代码,修改后的代码如下。Detail.javapackage org.model;public class De

7、tail private String email; private Login login; / 省略getter和setter方法及构造函数(反向工程自动生成的构造函数必须有否则操作数据库会报错)Login.javapackage org.model;public class Login private String password; private Detail detail; / 省略getter和setter方法及构造函数Login.hbm.xml detail Detail.hbm.xml 注意:检查一下在hibernate.cfg.xml文件中是否已加入配置映射文件的语句6.

8、测试类Test.javaTest.java:/此处省略main方法Session session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction(); / 创建事务对象Detail detail=new Detail();Login login=new Login();login.setUsername(yanhong);login.setPassword(123);detail.setTruename(严红);detail.setEmail(yanhong);login.setDetai

9、l(detail);detail.setLogin(login);session.save(detail);mit();HibernateSessionFactory.closeSession(); 二、多对多的关系映射1.建立数据库及表结构学生表:student列名描述数据类型可空默认值说明IDID号int否无主键SNUMBER学号varchar(10)是无SNAME姓名varchar(10)SAGE年龄int是无课程表:course列名描述数据类型可空默认值说明ID ID号int 否无主键CNUMBER 课程号varchar(10) 是无CNAME 课程名varchar(20) 是无学生选

10、课表(连接表):stu_cour列名描述数据类型可空默认值说明SID 学生ID号int 否无主键CID 课程ID号int 否无主键3生成数据库表对应的Java类对象和映射文件在MyEclispse下创建一个名为“org.model”的包,这个包将用来存放与数据库表对应的Java类POJO。打开MyEclipse Database Explorer视图。打开前面创建的MyConn数据连接,选择【XSCJ】【TABLE】菜单项,右击相应表(学生表和课程信息表),选择【Hibernate Reverse Engineering】菜单项,如下图所示,将启动Hibernate Reverse Engin

11、eering向导,该向导用于完成从已有的数据库表生成对应的Java类和相关映像文件的配置工作。首先,选择生成的Java类和映像文件所在的位置,如图所示。单击【Next】按钮,进入如图所示的界面,选择主键生成策略。 下面列举需要修改的代码,修改后的代码如下。Student.javapackage org.model;import java.util.HashSet;import java.util.Set;public class Student implements java.io.Serializable private int sage; private Set courses=new H

12、ashSet(); /省略上述各属性的getter和setter方法及构造函数(反向工程自动生成的构造函数必须有否则操作数据库会报错)Course.javapackage org.model;import java.util.HashSet;import java.util.Set;public class Course implements java.io.Serializable private String cname; private Set stus=new HashSet(); /省略上述各属性的getter和setter方法Student.hbm.xml Course.hbm.x

13、ml 注意:检查一下在hibernate.cfg.xml文件中是否已加入配置映射文件的语句6. 测试类Test.javaTest.java:/此处省略main方法Session session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction(); / 创建事务对象Course cour1=new Course();Course cour2=new Course();Course cour3=new Course();cour1.setCnumber(101);cour1.setCname(

14、计算机基础);cour2.setCnumber(102);cour2.setCname(数据库原理);cour3.setCnumber(103);cour3.setCname(计算机原理);Set courses=new HashSet();courses.add(cour1);courses.add(cour2);courses.add(cour3);Student stu=new Student();stu.setSnumber(081101);stu.setSname(李方方);stu.setSage(21);stu.setCourses(courses);session.save(stu);mit();HibernateSessionFactory.closeSession(); 三、扩展实验:自己完成多对一单向关联和一对多双向关联。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1