hibernate实验报告.docx

上传人:b****1 文档编号:2084377 上传时间:2022-10-26 格式:DOCX 页数:21 大小:44.03KB
下载 相关 举报
hibernate实验报告.docx_第1页
第1页 / 共21页
hibernate实验报告.docx_第2页
第2页 / 共21页
hibernate实验报告.docx_第3页
第3页 / 共21页
hibernate实验报告.docx_第4页
第4页 / 共21页
hibernate实验报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

hibernate实验报告.docx

《hibernate实验报告.docx》由会员分享,可在线阅读,更多相关《hibernate实验报告.docx(21页珍藏版)》请在冰豆网上搜索。

hibernate实验报告.docx

hibernate实验报告

实验一Hibernate框架结构

实验目的:

1、掌握java的反射技术

2、掌握Hibernate体系架构

3、熟练使用Hibernate进行简单应用

实验内容

1、将publicclassStudent{

privateintid;

privateStringname;

privateintage;

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

}

保存到数据库中。

 

Model包Student.java

privateIntegerid;

privateStringusername;

privateStringpassword;

privateIntegerage;

Student.hbm.xml

Util包HibernateUtil.java

packageutil;

importorg.hibernate.Session;

importorg.hibernate.SessionFactory;

importorg.hibernate.cfg.Configuration;

publicclassHibernateUtil

{

privatestaticSessionFactorysessionFactory;

static

{

try

{

//获取sessionFactory

sessionFactory=newConfiguration().configure().buildSessionFactory();}

catch(Exceptione)

{

System.err.println("构造sessionFactory出错:

"+e.getMessage());

}

}

publicstaticSessioncurrentSession()

{

//获取session

Sessionsession=sessionFactory.openSession();

returnsession;

}

//执行完后关闭session

publicstaticvoidcloseSession(Sessionsession)

{

if(null!

=session)

{

session.close();

}

}

}

Hibernate.cfg.xml

jdbc:

mysql:

//localhost:

3306/user

com.mysql.jdbc.Driver

root

root

org.hibernate.dialect.MySQLDialect

true

Test1.java

packagetest;

importmodel.Student;

importorg.hibernate.Session;

importorg.hibernate.Transaction;

importutil.HibernateUtil;

publicclassTest1

{

publicstaticvoidmain(String[]args)

{

Sessionsession=HibernateUtil.currentSession();

Transactiontx=session.beginTransaction();

Studentstu1=newStudent();

Try

{

stu1.setUsername("xiaoming");

stu1.setPassword("5732");

stu1.setAge(24);

session.save(stu1);

mit();

}catch(Exceptione)

{

tx.rollback();

}finally

{

session.close();

}

}

}

实验结果:

 

实验二对象映射

实验目的:

1掌握OID用法

2掌握一对一关联、一对多关联、多对多关联用法

3掌握集合对象的映射用法

4掌握继承的映射

实验内容

1、一个学生拥有一张借书卡,现在学生类和借书卡的定义如下,请将它们配置成一对一的双向关联。

publicclassStudent{

privateintid;

privateStringname;

privateintage;

privateStringsex;

privateStuIdCardbookCard;

……

}

publicclassbookCard{

privateintid;

privateStringnum;

privateStudentstudent;

……

}

配置:

2、一个顾客在网上商店购物时,可以有多份订单,而一份订单只属于一个顾客。

其类的定义如下:

publicclassCustomerimplementsSerializable{

privateintid;

privateStringname;

privateSetorders=newHashSet();

privateDoublemoney;}

publicclassOrderimplementsSerializable{

privateLongid;

privateStringorderNumber;

privateDoubleprice;

privateCustomercustomer;

……}

请配置它们的xml。

3、每个人都有当前住址,其定义如下:

publicclassperson{

privateintid;

privateStringname;

privateaddressaddress;}

publicclassaddress{

privateStringdetail;

privateStringstreet;

}

请把address作为person的表字段进行配置,该如何配置?

 

4、如下类,

publicclassStudent{

privateintid;

privateStringname;

privateSetteachers=newHashSet();}

ublicclassTeacher{

privateintid;

privateStringname;

privateSetstudents=newHashSet();}

请将其关系进行映射

一、Com.hibernate.pojo包student.java

privateIntegersid;

privateStringname;

privateStringpassword;

privateIntegerage;

privateSetstuidcards=newHashSet();

stuidcard.java

privateIntegerid;

privateStudentstudent;

privateStringnum;

Student.hbm.xml

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

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

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