Hibernate框架:它是一个持久层框架。
明确:Hibernate只能操作数据库(跟数据库打交道)。
现阶段已经掌握的持久层技术:
JDBC:它是操作数据库最底层的方式。
优势:底层,效率高。
弊端:编写代码时,比较繁琐。尤其是封装结果集。
DBUtils:它是基于JDBC,对JDBC进行了简单的封装。
优势:封装结果集的操作变得简单。并且仍然是自己编写SQL语句,相对效率并没有太大影响。
它用了池的思想管理连接。
弊端:要求实体类中的属性名称和数据库表的字段名必须一致。
要我们记的东西也比较多。
他们的共同点:都要我们自己写SQL语句。
使用JDBC和DBUtils操作产品表时遇到的问题:
JDBC的问题:
查询封装结果集时,太繁琐。
DButils的问题:
保存或者更新时,给参数赋值太繁琐。
那应该怎么去解决这个问题呢?
ORM:(Object Relational Mapping)
对象关系映射:就是建立实体类和数据库表的对应关系,实现操作实体类对象就相当于操作数据库表。
Hibernate框架:
它是一个轻量级,企业级,开源的ORM持久层框架。是可以操作数据库的框架。
框架:它就是一个架构。
通常情况下,软件工程的持久层解决方案,一个为主一个为辅。两者并存(写SQL语句的和不写SQL语句的)
轻量级:指的是使用时依赖的资源很少。(目前我们使用的阶段,只依赖log4j,c3p0连接池)
企业级:指的是早企业级应用中使用的比较多
开源的:开放源代码。
ORM的操作方式:建立对象关系映射,实现操作实体类相当于操作数据库表。
CRM:客户关系管理系统。