Hibernate映射配置文件
- 映射配置文件名称和位置没有固定要求
- 映射配置文件中,标签name属性值写实体类相关内容
- class标签name属性值实体类全路径 table是你想要创建的数据表名
- id标签和property标签name属性值 实体类属性名称
- id标签和property标签 column属性可以省略的
- 不写值column和name属性值一样的
- property标签type属性,设置生成表字段的类型,自动对应类型
Hibernate核心配置文件
- 配置写位置要求
<hibernate -configuration><session-factory>
-
配置三部分要求
- 数据库部分必须的
- hibernate部分可选的
- 映射文件必须的
-
核心配置文件和位置固定的
- 位置:src
- 名称:hibernate.cfg.xml
Hibernate核心 api
(1).Configuration
- 代码
Configuration cfg=new Configuration();
c.configure();
- 到src下面找到名称hibernate.cfg.xml配置文件 创建对象 把配置文件放到对象里面(加载核心配置文件)
(2).SessionFactory
- 使用configuration对象创建sessionFactory对象
- 创建sessionFactory过程中做事情
- 根据核心配置文件中 有数据库配置 有映射文件部分 到数据库里面根据映射关系把表创建
<property name=”hibernate.hbm2ddl.auto”>update</property>
SessionFactory sessionFactory=cfg.buildSessionFactory();
-
创建sessionFactory过程中 这个过程特别耗资源的
- 所以在hibernate操作中,建议一个项目一般创建一个sessionFactory对象
-
具体实现
- 写工具类 写静态代码块实现
- 静态代码块在类加载时候执行 执行一次
public class HibernateUtils {
static Configuration cfg=null;
static SessionFactory sessionFactory=null;
//静态代码块实现
static {
//加载核心配置文件
cfg=new Configuration();
cfg.configure();
sessionFactory=cfg.buildSessionFactory();
}
//提供方法返回sessionFactory
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
SessionFactory sessionFactory=HibernateUtils.getSessionFactory();
(3).Session
- Session类似于jdbc中的connection
- 调用session里面不同的方法实现crud操作
- 添加save方法
- 修改update方法
- 删除delete方法
- 根据id查询get方法
- Session对象单线程对象
- session对象不能共用,只能自己使用
(4).Transaction
- 事务对象
Transaction tx=session.beginTransaction():
- 事务提交和回滚方法
tx.commit();
tx.rollback();
- 事务概念
- 事务四个特性:原子性,一般性,隔离性,持久性