hibernate的API
程序源码:
import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import pers.zhb.domain.Student; class HinernateTest{ public static void testAdd() { //(1)加载hibernate核心配置文件 //src目录下的配置文件名称是固定的:hibernate.cfg.xml Configuration configuration= new Configuration(); configuration.configure(); //(2)读取hibernate核心配置文件的内容,创建sessionFactory对象,根据映射关系创建相应的表 SessionFactory sessionFactory=configuration.buildSessionFactory(); //(3)利用sessionFactory对象创建session对象 //类似于创建连接 Session session=sessionFactory.openSession(); //(4)开启事务 Transaction transaction=session.beginTransaction(); //(5)具体操作 Student student=new Student(); student.setSname("zzzz"); student.setSex("男"); student.setBirthday("2019-11-11"); student.setClassno("201911"); student.setPoint(111); student.setPhone("1873496511"); student.setEmail(""); session.save(student); //(6)提交事务 transaction.commit(); //(7)关闭资源 session.close(); sessionFactory.close(); } public static void main(String []args){ HinernateTest hinernateTest=new HinernateTest(); hinernateTest.testAdd(); } }
1、configuration对象:
Configuration configuration= new Configuration(); configuration.configure();
创建时调用空参构造方法,加载src目录下的hibernate.cfg.xml文件。
2、sessionFactory对象(用于创建操作数据库的session对象的工厂):
SessionFactory sessionFactory=configuration.buildSessionFactory();
根据配置信息,创建sessionFactory对象。
特点:
(1)负责保存和使用所有配置信息,消耗的内存资源比较大。
(2)线程安全。
根据sessionFactory对象的特点,应该尽量只创建一个sessionFactory对象。
3、session对象:
Session session=sessionFactory.openSession();
类似于JDBC中的创建连接。
4、transaction对象:
Transaction transaction=session.beginTransaction();
开启事务并获得操作事务的transaction对象。
5、提交事务:
transaction.commit();
6、回滚事务:
transaction.rollback();
7、释放资源:
session.close(); sessionFactory.close();