Hibernate框架初学笔记

来源:互联网 发布:淘宝装修服务市场 编辑:程序博客网 时间:2024/06/05 05:12

工作了一年迷迷糊糊,该开始好好归拢一下知识了,碎片也好,总要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的学习暂时先写到这里。弱鸡暂时写到这里欢迎拍砖。


0 0
原创粉丝点击