Hibernate学习
Hibernate框架
一、Hibernate 简介
ORM:Object Relation Mapping 对象关系映射
二、 Hibernate核心组件
1.Configecration 接口
Hibernate.cfg.xml(核心配置)
xxx.hbm.xml
2 SessionFactory 接口
3 Session接口
4 Tressaction接口
5 Hibernate执行流程
a.创建Configeration对象
b.读取hibernate.cfg.xml和xxx.hbm.xml
c.创建SessionFactory对象
d.创建Sesssion对象
e.执行CRUD操作
f.在Transaction控制之下完成CRUD
三、Hibernate使用步骤
1.加载Hibernate的jar包
2 创建映射类(PO类)
3 编写映射文件
4 将映射文件映入hibernate.cfg.xml
5 利用Session及Transaction进行数据库访问操作
注意:加载数据库访问jar包
四、配置文件
注意:1 常用属性:
a.show_sql(false/true) b.formate_sql(false/true)
c.hbm2.ddl.auto d.jdbc.fetch_size e.jdbc.batch.size
2 设置数据访问连接池
C3P0.min_size, C3P0.max_size, C3P0.timeout (加载C3P0.jar文件)
五、单条记录的获取
public Object get(Class c(获取的记录对应的类),Serializable id(序列化接口))
public Object load(Class c(获取的记录对应的类),Serializable id(序列化接口))
两者区别:1当数据不存在时,get返回空,而load抛出异常。
2 get方法直接获取数据,load方法会触发懒加载
六、Session中的增删改
1、数据的持久化—缓存
增:public int save(Object o) 返回增加记录主键值
删:public void delete(Object o) 返回删除记录主键值
修:public void update(Object o) 返回修改记录主键值
2、注意:增删改操作须通过事务提交完成向DB的发送。如:
Transaction ta = session.beginTransaction();
ta.commit();
七、持久化对象的状态
八、 HQL
1、简介 Hibernate Query Language
select */对象名.属性 from 类名 [as 对象名] [where 子句] [order by 子句]
2、使用方法:
创建Query接口对象
Query q = session.createQuery(“HQL”);
List result = q.list();(存储着持久化状态的对象)
注意:1 若查询仅需要返回一个字段值,则list中可直接存储该字段值数据
2 若查询返回多余一个但少于所有的字段个数,则需通过以下格式:
select new Person(p.name,p.age) from Person as p
3 若进行条件查询可使用“?”代替查询参数值,此时可在Query对象创建之后进行“?”的值设定,使用方法 setXxx(序号,值)。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。