第一天:Hibernate基础入门
目标:能够独立搭建Hibernate开发环境
能够使用Hibernate实现CRUD操作
1、三层架构
表现层 web层(MVC是一个表现层的设计模型)
业务层 service层
持久层 dao层
2、三大框架和三层架构之间的关系
Hibernate框架:持久层
Struts2框架:表现层
Spring框架:综合类框架
注意:Hibernate只能操作数据库
3、已经掌握的持久层技术
JDBC:操作数据库最底层的方式
优势:底层,效率高
弊端:编写代码比较繁琐,尤其是封装结果集
DBUtils:基于JDBC,对JDBC进行了简单的封装
优势:封装结果集的操作变得简单,效率没有太大影响
使用了池的思想来管理连接
弊端:要求实体类中属性名称和数据库表的字段名保持一致
要求人脑记得东西也比较多
共同点:都需要自己编写SQL语句
4、使用JDBC和DBUtils的问题
JDBC:查询封装结果集时,代码量大。
DBUtils:更新或者保存时,代码量大。
5、建立联系
实体类:
表:
使用JDBC或者DBUtils时,表和实体类之间的关系就是SQL语句。
而Hibernate建立实体类与表之间的关系用的是配置文件。
配置文件的种类:properties
XML(选择,因为xml可以描述层级关系)
对应关系的配置文件示例:
6、ORM(Object Relation Mapping)
对象关系映射,建立实体类和数据库表的对应关系
实现的是:操作实体类就相当于操作数据库表
7、hibernate
是一个轻量级、企业级、开源的ORM持久层框架,可以操作数据库的框架
通常情况下,软件工程的持久层解决方案,一个为主一个为辅。两者并存(一个写SQL语句,一个不写SQL语句)
轻量级:指的是使用时依赖的资源很少
企业级:指的是在企业级应用中使用的比较多(有固定的使用群体)
开源:开放源代码
ORM:对象关系映射,建立实体类和数据库表的对应关系
8、CRM(Customer Relationship Management)客户关系管理
9、搭建hibernate的开发环境(源码在Hibernate_01)
(1)准备工作(实体类的编写,lib文件夹的建立等等)
(2)导入jar包
(3)在实体类所在的包下 创建一个xml文件。该文件建议名称为:实体类名+ .hbm+.xml导入约束:dtd约束 (mapping)
(4)在类的根路径下创建名称为hibernate.cfg.xml的配置文件
导入dtd约束(和dtd过程一样) (configuration)
(5)编写类实现业务
步骤如下:
1.解析主配置文件
2.根据主配置文件创建SessionFactory
3.根据SessionFactory创建Session
4.开启事务
5.执行操作(保存)
6.提交事务
7.释放资源
10、Hibernate的常用对象
Configuration **
SessionFactory ***
线程安全
使用原则:一个应用应该只有一个SessionFactory,应用加载时创建,应用卸载时销毁
Session *****
负责操作数据库,应掌握该对象操作数据库中的方法
使用原则:一个线程只能有一个Session对象(即单线程对象)
Transaction *
负责提交和回滚事务
session常用方法:
11、get()和load()方法
以上是第一天学习Hibernate的笔记,特此记录。