zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【HIBERNATE框架开发之二】第一个HIBERNATE-ANNONATION项目(采用@ENTITY、@ID直接映射实体类)

hibernate项目框架映射开发 ID 直接 第一个
2023-09-14 08:59:37 时间
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/hibernate/789.html

紧接上一篇,这里Himi直接copy上一篇创建的HelloHibernate项目,然后改名为:HelloAnnonation,Ok;

 OK,准备工作:

首先第一步,继续再我们自定义的user libraries 中添加Annotation所需的包,如下3个jar包(共11个包):

               /hibernate-annotations-3.4.0.GA/hibernate-annotations.jar     (核心包)

               /hibernate-annotations-3.4.0.GA/lib/ejb3-persistence.jar   (jpa)

               /hibernate-annotations-3.4.0.GA/lib/hibernate-commons-annotations.jar   (反射所需的包)

如下图 ;

然后我们新建一个People类,如下:


最后准备工作在我们数据库中新建一个对应映射people实体类的表:(不赘述,直接看操作过程)


mysql gt; create table people(id int primary key, name varchar(20),age int ,title varchar(20), birthday varchar(20) );

准备工作完成之后,那么如果通常我们会建立People.hbm.xml来对应数据库的组件和属性,然后将People在hibernate.cfg.xml配置文件中使用mapping resource声明我们有一个被加了映射,People是实体类;

但是本篇我们使用Annotation将不再创建对应的实体类对应数据库的xml,而是直接在People类中声明实体类就可以啦,修改People.java文件如下:


仔细观察,发现只有两处有改动,就是添加了一个 @Entity  和 @Id

@Entity   表示本类是个实体类,是javax.persistence.Entity

@Id   在组件getId ()函数上约定俗成加入注解 @Id

接着我们继续在hibernate.cfg.xml配置文件中声明我们的People是个映射实体类:


lt;mapping resource="com/himi/Teacher.hbm.xml"/ gt; lt;!-- 这里是将需要mapping的文件进行再次声明 -- gt; lt;mapping / gt; lt;!-- 这里是声明我们的People是个映射实体类-- gt;

上面的Teacher是上一篇介绍的,People是本篇中新建的实体类, 务必注意,两种方式的区别:

  一个是      mapping resource , 一个是 mapping class  ;

             一个路径是  com/himi/Teacher.hbm.xml   一个路径的 com.himi.People ;

 

    最后一步,新建一个测试People的man类,名字为MainTestPeople.java:


// 这里注意了,cfg.configure()读取配置文件的时候,如果你的hibernate的文件名不采用默认的“hibernate.cfg.xml”的话,那么这里传入你定义的配置文件路径

仔细以上观看代码,与上一篇测试我们的Teacher 一致,唯一要注意的是 Configuration的实例:

不使用Annotation实例配置对象,我们采用如下获取Configuration:

Configuration cfg = new Configuration();

使用Annotation时,我们采用如下获取Configuration:

 Configuration cfg = new AnnotationConfiguration();

OK, 右键MainTestPeople, run as - Java  application;

运行结果:


没问题。本篇介绍Annotation第一个项目就到这里,比较eazy,而且Annotation使用起来相当方便!


hibernate(一) 第一个hibernate工程 其实hibernate已经学过一遍,不过因为太糊弄,急于求成,导致现在需要重新来学习,通过亲自去敲每一行代码,来去理解每一个知识点。
Hibernate【映射】知识要点 前面的我们使用的是一个表的操作,但我们实际的开发中不可能只使用一个表的...因此,本博文主要讲解关联映射 需求分析:当用户购买商品,用户可能有多个地址。 我们一般如下图一样设计数据库表,一般我们不会在User表设计多个列来保存地址的。