Hibernate框架
1. 什么是框架
(1)框架可以理解成一个半成品项目,他封装了一些功能,我们需要掌握的如何驾驭这些功能,不需要操心他是怎么实现的,其实他就是按照我们之前的所学的内容实现。
(2)为什么要使用框架?框架可以提高开发效率
2.Hibernate框架
Hibernate 是dao层的框架 完成的功能是crud 增删改查 增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)
Hibernate 是一个ORM(ObjjiectRelational Mapping)框架对象关系映射
Hibernate是以面向对象的方式进行数据库的增删改查 甚至不用写sql语句
Hibernate项目搭建
1.导包
Hibernate-5.2.12-relase.rar
打开require文件夹这个里面是我们锁需要的jar 包
还需要一个数据库驱动包
2.建立实体bean类
新建user类
(1)所有属性应该设置为private并且附加get和set方法
(2)构造函数,没写可以 如果写至少两个 (必须包含一个空的构造函数)
(3)字段名设置成包装类
考试为0分和没有参加考试 是有区别的 如果使用 基本类型则无法表示
但是使用包装类型(Integer)则可以设置为NULL
(4)实体类中必须有一个id(主键)
3. 建立数据库对应的表
可以省略hibernate 可以帮助我们自动根据实体类生成数据表
4 建立映射关系
第一步建立一个配置文件命名和位置 都没有强硬的规范 一般情况下规定 把这个文件放到对应的bean目录下面 命名规范 为实体类名+.hbm+.xml
第二步导入约束文件声明这个文件是hibernate 配置文件导入之后书写配置的时候会有提示信息。
第三步 配置信息
5. 配置hibernate 核心配置文件
第一步创建核心配置文件 文件命名 和位置都必须按照指定来,文件放在src目录下
文件名为hibernate.cfg.xml
第二步导入约束文件
第三步:配置信息
6书写测试代码dao层代码
Hibernate配置详解
Hibernate API详解
Hibernate crud
Save update get delete
这四个方法不能单纯理解为添加修改 查找 删除
实际上是修改hibernate 中的对象状态
在hibernate 中对象又三种状态
1. 瞬时状态 一个实体对象 没有id 也没有session 绑定
2.游离状态 有id 没有和session绑定
3.持久状态 有id 也有和session 绑定
实际上session的四个方法就是在改变实体对象在hibernate中的对象状态
持久化对象的特点:任何对象的变化都会自动同步到数据库中
Hibernate 提供了一个saveOrUodate的方法 这个方法自动识别对象的状态
实际开发中不去思考对象的实际状态 直接调用该方法。
Hib查询方式
1. HQL
基础查询
条件查询:建议使用字符串的占位符的方式
分页查询:setFirstResult 第几个开始 setMaxResults 查找几个
最大的特点是封装了sql 语句,在查找时用的是类名 和类的属性名。
2. certeria
这种语法连hql语句都不用写,在查询的时候全部调用封装好的方法
or()
equal()
notEqual
like()
isnull()
in():等于列表中的某一个值(特别注意,使用特别)
gt(): 大于
ge(): 大于等于
lt(): 小于
le(): 小于等于
between()
count():统计数量