Hibernate入门(一)
来源:互联网 发布:mysql左外连接查询 编辑:程序博客网 时间:2024/06/05 02:31
目录:
1、Hibernate体系架构
2、流程
3、操作数据库的步骤
ORM,即对象/关系映射,ORM框架,完成面向对象的程序设计语言到关系型数据库的映射。
Hibernate体系架构:
Configuration:负责配置并启动Hibernate,创建SessionFactory对象
SessionFactory:负责初始化,充当数据存储的代理,并负责创建Session对象,是线程安全的,但也是重量级对象,不轻易创建,本身要应用到ConnectionProvider
Session:执行持久化对象的CRUD操作,是非线程安全的,单线程对象,轻量级,用它来创建Transaction
Transaction:负责执行事务的相关操作
Query和Criteria:执行各种数据库的查询
流程
1、创建数据库
2、创建配置文件,一种是包含Hibernate和数据库的连接信息,被先后加载到Configuration和SessionFactory实例;另一种是包含影射信息,即系统中每一个类与其对应的数据库表之间的关联信息。通过hibernate.cfg.xml的mapping节点被加载到Configuration和SessionFactory中
(1)hibernate.properties文件作为配置文件
该文件列出来所有属性,没有提供映射文件的方式,需使用Configuration的addResource()添加映射文件
Configuration cfg=new Configuration(); cfg.addResource("test.hbm.xml");
(2)hibernate.cfg.xml文件
“`
包含Hibernate基本映射信息的配置文件,一般命名为className.hbm.xml,里面放数据库表的内容3、编写一个持久化类,符合JavaBean的规范,包含属性和get、set方法,有一个ID属性,标识对象,还要带一个无参构造方法4、写一个action类获得表单内容,execute()里面主要把信息调用模型类封装成一个类5、编写工具类HibernateUtil这个获得和数据库打交道的Session类
import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtil { private static SessionFactory sessionFactory; static{ try{ sessionFactory=new Configuration().configure().buildSessionFactory(); }catch (Exception w){ w.printStackTrace(); }}public static Session openSession(){ Session session=sessionFactory.openSession(); return session;}
}
6、编写用session处理数据类DAO,先编写接口再编写实现类,主要用session处理数据执行事务操作数据库的步骤(1)读取并解析配置文件
Configuration conf=new Configuration().configure();
(2)读取并解析影射信息,并创建SessionFactory
SessionFactory sessionFactory=conf.buildSessionFactory();
(3)打开Session
Session session=sessionFactory.openSession();
(4)开始第一个事务(增删查改)
Transaction ts=session.beginTransaction();
(5)数据库操作
session.save(test);
(6)提交事务(回滚)
ts.commit();//or (ts.rollback();)
(7)关闭Session
session.close();
“`
PS:通过实现HibernateCallback接口进行Hibernate查询,需将接口中doInHibernate()方法的参数设为final
- Hibernate (一)hibernate入门
- Hibernate--入门(一)
- Hibernate入门(一)
- hibernate入门(一)
- Hibernate入门(一)
- Hibernate入门(一)
- Hibernate入门应用(一)
- Hibernate入门学习(一)
- hibernate入门实例(一)
- Hibernate入门(一)HelloWorld
- 【Hibernate】(一)快速入门
- hibernate入门学习(一)
- 【Hibernate】(一)快速入门
- hibernate入门案例(一)
- hibernate入门实例(一)(初学者)
- Hibernate入门(一:简单配置)
- hibernate入门(一)配置文件详解
- 【Hibernate】(一)入门及原理
- ZOJ
- 最讨厌心灵鸡汤 所有失败最终都是人不行
- 关联式容器之底层红黑树
- Java并发编程:线程的创建和执行
- 【Java学习笔记】22:查漏补缺2
- Hibernate入门(一)
- C# 存储过程-机房充值
- 关于JDBC的一些基础知识
- 变量类型和计算
- Andriod ListView
- Windows7(32位)下安装Ubuntu16.04双系统
- 工厂方法模式
- 微信支付回调处理
- 近期目标