【HIBERNATE框架开发之二】第一个HIBERNATE-ANNONATION项目(采用@ENTITY、@ID直接映射实体类)
转载自【黑米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表设计多个列来保存地址的。
相关文章
- Java项目毕业设计:基于springboot+vue的电影视频网站系统「建议收藏」
- Hibernate之Query.uniqueResult()结果为数值的注意事项
- org.hibernate.id.IdentifierGenerationException错误解决方法详解编程语言
- Hibernate之one-to-one主键关联映射详解编程语言
- hibernate+oracle+主键varchar2类型,增加序列策略注解失败详解编程语言
- Hibernate Query接口 setFloat方法:绑定映射类型为float的参数
- Hibernate hibernate.order_updates属性:为SQL更新排序