做dw网站图片怎么下载地址,成品网站源码,做网站赚钱嘛,建设网站需要招聘哪些人紧接上一篇#xff0c;这里Himi直接copy上一篇创建的HelloHibernate项目#xff0c;然后改名为#xff1a;HelloAnnonation,Ok#xff1b;OK#xff0c;准备工作#xff1a;首先第一步#xff0c;继续再我们自定义的user libraries 中添加Annotation所需的包#xff0c…紧接上一篇这里Himi直接copy上一篇创建的HelloHibernate项目然后改名为HelloAnnonation,OkOK准备工作首先第一步继续再我们自定义的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类如下123456789101112131415161718192021222324252627282930313233343536373839404142packagecom.himi;publicclassPeople{privateintid;privateStringname;privateintage;privateStringtitle;privateStringbirthday;publicintgetId(){returnid;}publicvoidsetId(intid){this.idid;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.namename;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.ageage;}publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.titletitle;}publicStringgetBirthday(){returnbirthday;}publicvoidsetBirthday(Stringbirthday){this.birthdaybirthday;}}最后准备工作在我们数据库中新建一个对应映射people实体类的表(不赘述直接看操作过程)12345678910111213141516171819mysqlusehibernate;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechangedmysqlcreatetablepeople(idintprimarykey,namevarchar(20),ageint,titlevarchar(20),birthdayvarchar(20));QueryOK,0rowsaffected(0.06sec)mysqldescribepeople;--------------------------------------------------|Field|Type|Null|Key|Default|Extra|--------------------------------------------------|id|int(11)|NO|PRI|NULL|||name|varchar(20)|YES||NULL|||age|int(11)|YES||NULL|||title|varchar(20)|YES||NULL|||birthday|varchar(20)|YES||NULL||--------------------------------------------------5rowsinset(0.01sec)准备工作完成之后那么如果通常我们会建立People.hbm.xml来对应数据库的组件和属性然后将People在hibernate.cfg.xml配置文件中使用mapping resource声明我们有一个被加了映射People是实体类但是本篇我们使用Annotation将不再创建对应的实体类对应数据库的xml而是直接在People类中声明实体类就可以啦修改People.java文件如下1234567891011121314151617181920212223242526272829303132333435363738394041424344454647packagecom.himi;importjavax.persistence.Entity;importjavax.persistence.Id;EntitypublicclassPeople{privateintid;privateStringname;privateintage;privateStringtitle;privateStringbirthday;IdpublicintgetId(){returnid;}publicvoidsetId(intid){this.idid;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.namename;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.ageage;}publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.titletitle;}publicStringgetBirthday(){returnbirthday;}publicvoidsetBirthday(Stringbirthday){this.birthdaybirthday;}}仔细观察发现只有两处有改动就是添加了一个 Entity 和 IdEntity 表示本类是个实体类是javax.persistence.EntityId 在组件getId ()函数上约定俗成加入注解 Id接着我们继续在hibernate.cfg.xml配置文件中声明我们的People是个映射实体类123mappingresourcecom/himi/Teacher.hbm.xml/!--这里是将需要mapping的文件进行再次声明--mappingclasscom.himi.People/!--这里是声明我们的People是个映射实体类--上面的Teacher是上一篇介绍的People是本篇中新建的实体类务必注意两种方式的区别一个是 mapping resource , 一个是 mapping class 一个路径是 com/himi/Teacher.hbm.xml 一个路径的 com.himi.People ;最后一步新建一个测试People的man类名字为MainTestPeople.java:123456789101112131415161718192021222324252627282930313233343536importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.AnnotationConfiguration;importorg.hibernate.cfg.Configuration;importcom.himi.People;publicclassMainTestPeople{/*** param args*/publicstaticvoidmain(String[]args){PeoplepeoplenewPeople();// 新建我们需要存储的类对象并且设置其对象的一些属性people.setId(2);people.setName(Himi);people.setAge(22);people.setTitle(CTO);people.setBirthday(1990-01-01);// Configuration主要用以读取配置文件//AnnotationConfiguration 专用于读取与Annotation相关的配置ConfigurationcfgnewAnnotationConfiguration();SessionFactorysfcfg.configure().buildSessionFactory();// 这里注意了cfg.configure()读取配置文件的时候如果你的hibernate的文件名不采用默认的“hibernate.cfg.xml”的话那么这里传入你定义的配置文件路径// buildSessionFactory();得到一个创建Session的工场Sessionsssf.openSession();// 这里的Session导入import// org.hibernate.Session;不要使用class经典的因为可能会过时ss.beginTransaction();// OK将操作放入事务中ss.save(people);// 保存你的对象ss.getTransaction().commit();// 得到事务并提交ss.close();// Session关闭sf.close();// 工厂关闭}}仔细以上观看代码与上一篇测试我们的Teacher 一致唯一要注意的是 Configuration的实例不使用Annotation实例配置对象我们采用如下获取Configuration:Configuration cfg new Configuration();使用Annotation时我们采用如下获取ConfigurationConfiguration cfg new AnnotationConfiguration();OK, 右键MainTestPeople, run as - Java application;运行结果1Hibernate:insertintoPeople(age,birthday,name,title,id)values(?,?,?,?,?)ok监测一下数据库的People表内是否已经成功插入了信息12345678mysqlselect *frompeople;-----------------------------------|id|name|age|title|birthday|-----------------------------------|1|Himi|23|CTO|1990-01-01||2|Himi|22|CTO|1990-01-01|-----------------------------------2rowsinset(0.00sec)没问题。本篇介绍Annotation第一个项目就到这里比较eazy而且Annotation使用起来相当方便