hibernate核心类及常用方法
Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); Transaction transaction = session.getTransaction(); transaction.begin(); session.save(user); transaction.commit(); session.close();
一、Session接口
常用方法:
a.与数据库增删改查有关的方法
get() load() OID查询方式
save() update() delelte() saveOrUpdae()
createQuery()(HQL查询方式)
createCriteria()
b.与事务有关的方法
getTransaction():当事务开启之后,通过session获取事务对象
beginTransaction():开启事务
rollback(): 事务回滚;commit():提交事务
c.与缓存有关的方法:一级缓存:clear() evict() flush() refresh()
d.close()方法
session.close(); 关闭session
二、SessionFactory接口:SessionFactroy接口负责初始化Hibernate。
Factory常用方法:
a. openSession() :打开session
b. getCurrentSession() : 获取当前线程session,当在主配置文件中已经将session绑定到当前线程,那么就可以在这里获取session
c. close() :关闭工厂
三、Transaction接口:
Transaction接口负责事务相关的操作,一般在Hibernate的增删改中出现,但是使用Hibernate的人一般使用Spring去管理事务。
四、Query接口:
Query负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。它的返回值一般是List。需要自己转换。
五、Configuration接口:
Configuration对象用于配置并根启动Hibernate。
Hibernate应用通过Configuration实例来指定对象—关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。
Configuration常用方法:
a、configure(): 默认读取当前项目中的hibernate.cfg.xml的文件
configure(参数):适用于在主配置文件不是hibernate.cfg.xml名称时
b、getProperties(): 从cfg对象的properties集合中读取包括注配置文件中的key-value在内的所有的键值对
c、addResource(): 作用类似于在主配置文件中的mapping的resource属性
d、addClass(): 作用类似于在主配置文件中的mapping的class属性的功能,4.x和5.x有差异
e、buildSessionFactory(): 创建工厂