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