hibernate实验报告Word下载.docx
《hibernate实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《hibernate实验报告Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
this.age=age;
保存到数据库中。
Model包Student.java
privateIntegerid;
privateStringusername;
privateStringpassword;
privateIntegerage;
Student.hbm.xml
<
hibernate-mapping>
<
classname="
model.Student"
table="
student"
>
<
idname="
id"
column="
type="
int"
<
generatorclass="
increment"
/generator>
/id>
propertyname="
username"
name"
string"
/property>
password"
age"
/class>
/hibernate-mapping>
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
hibernate-configuration>
session-factory>
connection.url"
jdbc:
mysql:
//localhost:
3306/user
connection.driver_class"
com.mysql.jdbc.Driver
connection.username"
root<
connection.password"
dialect"
org.hibernate.dialect.MySQLDialect
show_sql"
true<
mappingresource="
Student.hbm.xml"
/>
/session-factory>
/hibernate-configuration>
Test1.java
packagetest;
importmodel.Student;
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
实验结果:
实验二对象映射
1掌握OID用法
2掌握一对一关联、一对多关联、多对多关联用法
3掌握集合对象的映射用法
4掌握继承的映射
1、一个学生拥有一张借书卡,现在学生类和借书卡的定义如下,请将它们配置成一对一的双向关联。
publicclassStudent{
privateStringsex;
privateStuIdCardbookCard;
……
publicclassbookCard{
privateStringnum;
privateStudentstudent;
配置:
2、一个顾客在网上商店购物时,可以有多份订单,而一份订单只属于一个顾客。
其类的定义如下:
publicclassCustomerimplementsSerializable{
privateSetorders=newHashSet();
privateDoublemoney;
publicclassOrderimplementsSerializable{
privateLongid;
privateStringorderNumber;
privateDoubleprice;
privateCustomercustomer;
……}
请配置它们的xml。
3、每个人都有当前住址,其定义如下:
publicclassperson{
privateaddressaddress;
publicclassaddress{
privateStringdetail;
privateStringstreet;
请把address作为person的表字段进行配置,该如何配置?
4、如下类,
privateSet<
Teacher>
teachers=newHashSet<
();
ublicclassTeacher{
Student>
students=newHashSet<
请将其关系进行映射
一、Com.hibernate.pojo包student.java
privateIntegersid;
privateStringname;
privateSetstuidcards=newHashSet();
stuidcard.java
privateStudentstudent;
privateStringnum;
com.hibernate.pojo.Student"
catalog="
user"
sid"
java.lang.Integer"
columnname="
java.lang.String"
setname="
stuidcards"
inverse="
true"
key>
pk"
not-null="
/key>
one-to-manyclass="
com.hibern