Hibernate是一个ORM框架,全称Object-Relative DateBase-Mapping,在Java对象与关系数据之间建立某种映射,以实现直接存取Java对象。
1:什么是ORM
O代表Object、R代表Relative、M代表Mapping,ORM的意思就是对象关系映射。
对象关系映射是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另一种形式。
2:引包
要想使用Hibernate框向需要引入相关的jar包:
3:编写对象和对象映射
通常情况下对象文件和对象映射文件一般是放在同一文件夹下的,后缀名分别为.java和.hbm.xml。
对象文件User.java:
映射对象文件User.hbm.xml:
class的name属性配置src文件夹下的文件路径,table属性配置数据库表名。id表示主键,generator class="native"表示主键自增。
4:配置主配置文件
主配置文件需要放在src目录下,在配置主配置文件是只需要根据实际情况配置数据库连接的URL、数据库用户名、数据库密码和映射文件。
5:实现流程
1:获取加载配置管理类
Configuration cfg = new Configuration().configure();
configure()方法用于加载配置文件。如果指定参数,加载参数的路径配置文件。如果不指定参数,默认加载src目录下的hibernate.cfg.xml文件。
2:创建Session工厂对象
SessionFactory sessionFactory = null;
sessionFactory = cfg.buildSessionFactory();
buildSessionFactory()方法用于创建session工厂。
3:获取session对象
Session session = null;
session = sessionFactory != null ? sessionFactory.openSession() :
Session是Hibernate最重要的对象,Session维护了一个连接,只要使用hibernate操作数据库,都需要Session对象。
4:获取事务对象
Transaction transaction = session.getTransaction();
使用hibernate操作数据库,都要开启事务,得到事务对象。
5:开启事务
transaction.begin();
6:对对象进行数据库操作,比如更新操作
session.update(user);
7:提交事务
transaction.commit();
8:关闭session
session.close();
6:执行自己编写的SQL语句
SQLQuery sqlQuery = session.createSQLQuery("SELECT * FROM user").addEntity(User.class);
List list = sqlQuery.list();
将所有的记录封装成User对象存进List集合中