您的位置:首页 > 其它

Hibernate框架初学笔记

2017-05-08 19:56 316 查看
工作了一年迷迷糊糊,该开始好好归拢一下知识了,碎片也好,总要mark一下

首先的首先,去官网下个hibernate-release-5.2.10.Final源码包,顺便提下,5.x以后hibernate支持两套api,一套基于hibernate本身,另一套基于JPA(Java Persistence API),道听而已。

1、首先,可以建个java project实验,然后导包,如下图,里边的东西都是通过反编译插件大致瞟一眼,水平不够很多云里雾里,先能用再说

强迫症数一下,暂时12个,再引个Junit4作为测试试例,项目的buildpath整一下。

2、项目的src下与项目包同级目录,创建该框架的配置文件,命名规范hibernate.cfg.xml

3、然后去hibernate-release-5.2.10.Final\project\etc\下把hibernate.properties.template文件单独揪出来,作为总配置文件hibernate.cfg.xml的参考,如<property>节点的name就是模版文件去掉最前边#hibernate(#注释,里边的解释都),如下比较常用

<property name="show_sql"> true</property>

<property name="dialect">org.hibernate.dialect.MySQL57Dialect</property>

注:此时可以先不用创建<mapping resource="/./.hbm.xml">与实体类的mapping文件路径关联

4、建包结构,utils、pojo、test包等。

5、写一个如下工具类,从sessionfactory中获取session对象,内容反编译看了一下,木讷。如下图:

6、创建实体类,类的属性与数据库中表的列对应,名称尽量一致。现在可以将cfg.xml中的<mapping>的resource与该实体类ORM(Object Relation Mapping)了

7、创建类的mapping.xml配置,命名如Emp.hbm.xml。里边<class>节点内的name=".Emp"实体类地址,内的table="表名"。class下的必要子节点<id>为主键,内的name="实体类主键属性名",内的column="对应表的对应主键"。<id>下的必要子节点<generator>内的class="主键生成策略"如increment/identity/assigned/foreign/uuid/sequence等。与<id>同级节点为<property>内的name=“类属性名”,内的column=“对应表的列名”。

注:对应列字段的节点,name和column如果名称相同,column可省略,如下图:

8、现在可以将cfg.xml中的<mapping>的resource与该实体类ORM(Object Relation Mapping)了。

9、配置好了以后,就可以写测试类了,我的测试类如下:

注:可以先拿到list.size()查处数据大小,进行故障排除,第一次手撸,细枝末节应该会有点小问题,能粘帖尽量复制吧。

hibernate的学习暂时先写到这里。弱鸡暂时写到这里欢迎拍砖。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: