1、三层架构
表现层 web层(MVC是一个表现层的设计模型)
业务层 service层
持久层 dao层
2、三大框架和三层架构的关系(建议学习三大框架的顺序:先学习hibernate在学习struts2框架,最后学习spring 框架)
hibernate框架:它是一个持久层框架
struts2框架:它是一个表现层框架
spring框架:它是一个综合类框架
hibernate只能操作数据库(跟数据库打交道)
3.现阶段已经掌握的持久层技术
JDBC:它是操作数据库最底层的方式。
优势:底层,效率高。
弊端:编写代码时,比较繁琐。尤其是封装结果集。
DBUtils:它是基于JDBC,对JDBC进行了简单的封装。
优势:封装结果集的操作变得简单。并且仍然是自己编写sql语句,相对效率并没有太大影响。
它用了池的思想管理连接。
弊端:要求实体类中属性名称和数据库表的字段名必须一致。
要我们记的东西也比较多。
他们的共同点:都要我们自己写SQL语句。
4.hibernate的实现思想:
建立实体类和表之间的关系
使用配置文件。
配置文件的种类:
properties
xml
选择properties还是xml呢?
使用XML。
因为XML可以描述层级关系
对应关系的配置文件示例:
<class name="类名" table="表名">
<id name="实体类属性名称" column="表中的主键字段名">
<property name="属性名" column="表中的字段名"/>
</class>
insert into $tablename$($columnname$,$columnname$) values(product.getxxx,product.getxx)
5.ORM
Object Relational Mapping
对象关系映射
就是建立实体类和数据库表的对应关系。
实现操作实体类对象就相当于操作数据库表
6、hibernate
它是一个轻量级,企业级,开源的ORM持久层框架。是可以操作数据库的框架。
框架:它就是一个架构。
通常情况下,软件工程的持久层解决方案,一个为主一个为辅。两者并存(写SQL语句的和不写SQL语句的)
轻量级:指的是使用时依赖的资源很少。(目前我们使用的阶段,只依赖log4j,c3p0连接池)
企业级:指的是在企业级应用中使用的比较多
开源的:开放源代码。
ORM的操作方式:建立对象关系映射,实现操作实体类就相当于操作数据库表。
7.hibernate的常用对象
Configuration
SessionFactory
Session
Transaction
8使用hibernate实现增删改查的实例:(使用eclipse编写的目录结构如下)
项目链接https://pan.baidu.com/s/1o7Ho7b-LUZf4VDwq_b683w
密码:xl2d