5种框架
SSH:Spring+Struts2+Hibernate
SSM:Spring+SpringMVC+MyBatis
搭建Hibernate框架步骤:
1.导jar包
2.准备数据库/实体类
3.配置文件:2种
Hibernate主配置文件:src/hibernate.cfg.xml
链接数据库:url username password driver
配置文件键值对:解压/project/etc/hibernate.properties
对象关系映射配置文件:hibernate-mapping.hbm.xml ORM元数据
位置随意
增删该查:save、delete、update
get/load 查询:Hibernate提供了3种查询方式:Criteria
使用
1>加载配置文件 Configuration configure()
2>获得SessionFactory
3>获得Session
4>开启事务Transaction
5>session.get/load/save/delete/update
6>关闭事务commit/rollback
7>关闭资源Session
主键类型:
代理主键:业务无关、对象无关、不能修改
自然主键:表中存在非空并且唯一的字段,例如身份证号
主键生成策略-新增数据时,主键生成的方式
代理主键:identity:数据库维护,自增长,不需要手动录入
sequence:数据库维护,seq,nextVal
序列方式:需要指定参数【序列名】,不需要手动录入
increment:Hibernate维护,自增长,不需要手动录入在插入之前先查找ID最大值
hilo:自增长算法
native:hilo+identity+sequence (自动检测
uuid:hibernate维护,id类型设置为varchar(32)
自然主键:必须手动录入assigned
Hibernate 对象状态
1.瞬时状态:对象没id,并且没有在session缓存中
2.持久化状态:对象有id,并且在session缓存中,内容发生修改,在事务提交时,都会同步到数据库中
3.游离/托管状态:对象有id,不在session缓存中,session中对对象的操作,其实就是改变对象状态
session缓存的作用:为了提高查询效率,hibernate一级缓存
session快照:为了节省不必要的update操作
懒加载:load方法懒加载,lazy=“true”
结论:默认设置,就是最佳优化方案