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的学习暂时先写到这里。弱鸡暂时写到这里欢迎拍砖。
- Hibernate框架初学笔记
- hibernate框架初学
- Hibernate框架 初学
- 初学hibernate框架
- 初学hibernate框架
- 初学hibernate笔记
- 初学hibernate笔记
- Spring框架初学笔记
- hibernate之初学篇笔记
- hibernate框架学习笔记
- Hibernate框架笔记
- Hibernate框架自学笔记
- hibernate初学笔记3《2017-09-09》
- Hibernate初学
- Hibernate初学
- hibernate 初学
- Hibernate 初学
- 初学Hibernate
- Windows上实现dos命令重命名
- 指针
- 前端框架AngularJS
- 51nod 1002 数塔取数问题(基础dp)
- 一个例子深入下join
- Hibernate框架初学笔记
- Problem B: 求个最大值
- PART 4
- Divide Two Integers
- elasticsearch 组合查询
- SpringBoot-@Schedule定时任务
- windows配置环境变量无效
- python接口调用已训练好的caffe模型测试分类
- 【转】ionic run android 成功launch success,但是genymotion虚拟机没有显示