ORM相关框架工作原理学习总结(一)
引子:面向对象的开发思想是操作对象,对于关系型数据库数据的操作,需要编写繁琐的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得到的对象时瞬态)