引子:面向对象的开发思想是操作对象,对于关系型数据库数据的操作,需要编写繁琐的sql语句。这时有人会想:是否可以像操
作对象一样操作数据库库数据呢???ORM框架就这样诞生了
ORM:对象关系映射,题主接触过的是Hibernate和Mybatis这两种。主要思想:将数据库表和对象进行映射,依靠框架的API
通过对象的增删改查,达到映射数据库中表数据的增删改查。方便开发。
工作过程:1、根据数据库中的表,定义好对应的实体类。
2、配置好对应的关系实体映射文件。
3、容器启动,创建SessionFactory。
4、通过SessionFactory获取Session。
5、Session对应着一个数据库的连接,通过Session操作对象,后台自动生成sql更新数据库的数据。
Hibernate相关知识点:
get和load的区别:get会立刻返回数据库中查询的数据。load延迟加载数据,当用到的时候,再去取数据。
openSession和getCurrentSession的区别:openSession每次打开新的Session,需要手动关闭。getCurrentSession每次
从上下文中获取Session,如果没有则创建,有的话,用旧的。commit会自动关闭。
对象三种状态:瞬态、持久态、卸载
瞬态:内存无ID,Session中无缓存,数据库无数据(new得到的对象时瞬态)
持久态:内存有ID,Session中有,数据库有(save,saveO
ORM相关框架工作原理学习总结(一)
最新推荐文章于 2024-05-11 11:53:08 发布