Hibernate运行过程
来源:互联网 发布:zara淘宝 编辑:程序博客网 时间:2024/06/05 18:40
扫盲:-----------------------------------------------------------------------------------
1.什么是对象持久化?
持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中。
-------------------------------------------------------------------------------------------
什么是Hibernate?
Hibernate,冬眠。对对象来说就是持久化。
Hibeinate的运行过程:
图1-1
Hibernate的运行过程:
1.应用程序先调用Configuration类,该类读取Hibernate的配置文件及映射文件中的信息,并用这些信息生成一个SessionFactory对象。
2.然后从SessionFactory对象生成一个Session对象,并用Session对象生成Transaction对象。可通过Session对象的get(),load(),save()等操作PO;
3.如果没有异常,Transactiion对象将提交这些操作结果到数据库。
代码:
public static void main(String[] args) {//代表了配置文件Configuration cfg = new Configuration().configure();//创建SessionFactory//SessionFactory factory = cfg.buildSessionFactory();//通过Session工厂获取session对象,session对象封装了数据库的JDBC连接Session session = factory.openSession();User user = new User();user.setUsername("张三");user.setPassword("123456");Transaction tx = null;//通过session开启一个事务try {tx = session.beginTransaction();//将user对象的数据保存到数据库,返回值就是主键Serializable userId = session.save(user);System.out.println("userId = " + userId);tx.commit();//提交事务} catch (Exception e) {e.printStackTrace();tx.rollback();//事务回滚} finally {session.close();//关闭sessionfactory.close();//关闭factory}}}
其中生成SessionFactory有两种方法:
方法一:
//代表了配置文件
Configuration cfg = new Configuration().configure();
//创建SessionFactory
//SessionFactory factory = cfg.buildSessionFactory();
方法二:
//代表了配置文件
Configuration cfg = new Configuration().configure();
//将配置信息注册为一个服务
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
SessionFactory factory = cfg.buildSessionFactory(serviceRegistry);
从图1-1可以看出Hibernate的核心组件:
a)Configuration类:用来读取Hiberate配置文件,并生成SessionFactory对象。
b)SessionFactory接口:产生Session实例。
c)Session接口:用来操作PO(持久化对象,Persistent Object)。它有get(),load(),save(),update()和delete()等方法用来对PO进行加载,保存,更新及删除等操作。它是Hibernate的核心接口。
d)Query接口:用来对PO进行查询操作,它可以从Session的createQuery()方法生成。
e)Transaction接口:用来管理Hibernate事务,它主要方法有commit()和rollback(),可以从Session的beginTransaction()方法生成。
0 0
- Hibernate运行过程
- 【Hibernate】的运行过程如下
- hibernate在运行过程中出现
- Hibernate学习笔记1(运行过程)
- 运行Hibernate实例
- 运行Hibernate实例
- Hibernate 运行原理
- hibernate的运行原理
- Hibernate内部运行机理
- hibernate运行原理笔记
- Hibernate 运行原理
- Hibernate运行环境搭建
- Hibernate运行原理
- hibernate的运行流程
- hibernate数据库运行策略
- hibernate的运行原理:
- hibernate开发过程
- hibernate存储过程
- 前端控制器配置
- ##########(python 解析参数方法 可用) Python optionParser模块的使用方法 #######
- Oracle11g安装在CentOS6.5
- spring初始化bean InitializingBean
- tty命令查看当前用的是哪个console在显示
- Hibernate运行过程
- 编写可以监控oracle监听器是否启动的shell脚本
- QQ企业邮箱使用Java代码发送失败,错误DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NT
- C++ Socket多客户端和服务器通信
- select poll epoll
- 制作SVG图片的CSS文字样式,引入项目
- shim和polyfill有什么区别
- DHCP信息交互过程详解
- 告别session! spring 集成 jwt 验证方式