hibernate概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORM ,Object/Relation Mapping,对象-关系映射,就是通过将Java对象映射到数据库表,通过操作Java对象,就可以完成对数据表的操作。
Hibernate是轻量级JavaEE应用的持久层(dao)解决方案,是一个关系数据库ORM框架。
Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的ORM实现,它很大程度的简化了dao层编码工作。
Hibernate使用java的反射机制
Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系
Hibernate是一个ORM框架,是通过操作Java对象来操作数据表记录。
编程操作hibernate框架:
// 实例化配置对象,即加载配置文件hibernate.cfg.xml
Configuration configuration = new Configuration().configure();
// 创建会话连接工厂
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建会话(开启会话)
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
... 这里可以编写hibernate操作代码逻辑
// 提交事务,释放资源
mit();
session.close();
sessionFactory.close();
插入数据通过Session对象save方法。
修改数据通过Session的update方法。
删除数据通过Session的delete方法。
根据主键查询通过Session的get或load。(get和load的唯一区别就是是否懒加载)get(Class clazz, Serializable id)
Hibernate框架查询数据可以通过Query对象完成
HQL 语法很像SQL语法,但是完全面向对象的
查询结果会自动封装为Java对象
例:Query query = session.createQuery("from Customer");
这里Customer是类名,因为是面向对象的
示例代码:
使用Query对象步骤:
获得Hibernate Session对象
编写HQL语句
调用session.createQuery 创建查询对象
如果HQL语句包含参数,则调用Query的setXXX设置参数(xxx和参数类型有关)调用Query对象的list() 或uniqueResult() 方法执行查询
分页:
Query还包含两个方法用于控制返回结果
setFirstResult(int firstResult) 设置返回结果从第几条记录开始
setMaxResults(int maxResults) 设置本次返回结果记录条数,每页显示的记录数
Hibernate使用户无须关注底层数据库操作,只要通过操作映射到数据表的Java对象,就可以对数据库进行增删改查。