功能:Dao层(持久层)框架,封装了JDBC。 思想:整合了ORM思想,以面向对象的思想操作数据库。
1> 导包 2> 建表 3> 创建实体(model) 4> 填写Hibernate.cfg.xml配置文件 5> 填写实体orm映射文件(元数据) 6> 写代码
1> 加载配置文件 2> 根据配置创建SessionFactory 3> 根据工厂获得session 4> 开启事务 5> 操作数据库 6> 关闭事务 7> 释放资源
Hibernate.cfg.xml 方言:每个数据库方言各不相同,MySql应该配置最短那个。 hbm2ddl:Hibernate建表策略 create:每次启动Hibernate都会重新创建表结构。 create-drop:每次启动Hibernate都会重新创建表结构,Hibernate关闭前还会删除表结构。 update:自动更新表结构,会保留原有结构和数据。 validate:只验证/校验 表结构,表结构不匹配时抛出异常。 orm映射文件(User.hbm.xml) class: 类与表的对应 id:OID与主键的对应 generator:主键生成策略 increment:先查询表中的最大id. 然后+1,适合测试使用,不适合实际开发使用(存在线程并发问题) indentity:依赖数据库的主键自增,例如:mysql、sqlserver。 sequence:依赖于数据库的序列,例如:Oracle。 hilo:Hibernate自己实现序列算法(用不到)。 native:三选一:indentity / sequence / hilo uuid:生成32位的随机字符串 assigned:自然主键时,自己填入ID property name:实体属性 column:表列名 length:配置属性长度 type:配置属性类型 not-null:是否非空 unque:是否唯一 type 数据库类型 Java类型 Hibernate类型 varchar => java.lang.String|String => string int => Integer => int ...... ...... ......