day24 ORM Hibernate常用的接口和类(Configuration, SessionFactory , Session, Transaction ,Query) hql
来源:互联网 发布:单片机与fpga 编辑:程序博客网 时间:2024/05/19 18:14
开源框架:open Source(开放源代码)
addUser(User user)
addObject(Object object)
Person
Teacher
把通用的方式以project形式发布。
个人或者是基金组织(apache)
可以修改源代码
规范:行业标准 SUN 不能修改 接口
持久化
Persistence
Relational DataBase
SQL
DDL DML
JDBC
ORM(Object Relational Mapping)
描述:java应用程序中持久化对象到关系数据库表之间的映射。
映射原则:
User Prefix_user
实体名 ==============表明
属性================列
关系===============外键
继承映射
Why ORM?
1:生产力
2:维护性
3:执行
4:和数据库无关
ORM产品:
1:Hibernate:全自动|自动生成sql|
2:ibatis:半自动|要我们自己写sql|灵活
3:JPA Java Persistence api(规范 SUN)
java=========jdbc==========db
java========HIbernate ====db
java======ibatis======db
jdbc
java======jpa hibernate db
ibaits
User 介质 prefix_user
id 1 id=user user 1
name icexu name=username username icexu
password 7474 password=pwd pwd 7474
hbm.xml:描述实体到数据库表的具体映射
cfg.xml:描述的数据库信息
Hibernate常用的接口和类
1>Configuration
概述:Configuration 类负责管理Hibernate 的配置信息。它包括如下内容:
Hibernate运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等。
Hibernate映射文件(*.hbm.xml)。
Hibernate配置的两种方法:
属性文件(hibernate.properties)。
调用代码:Configuration cfg = new Configuration();
Xml文件(hibernate.cfg.xml)。
调用代码:Configuration cfg = new Configuration().configure();
2>SessionFactory
概述:应用程序从SessionFactory(会话工厂)里获得Session(会话)实例。它在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂——例如在应用初始化时被创建。然而,如果你使用Hibernate访问多个数据库,你需要对每一个数据库使用一个会话工厂。
会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。
调用代码:
SessionFactory sessionFactory = cfg.buildSessionFactory();
3>Session:
概述:
Session不是线程安全的,它代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间。
Session也称为持久化管理器,因为它是与持久化有关的操作接口。
Session通过SessionFactory打开,在所有的工作完成后,需要关闭。
它与Web层的HttpSession没有任何关系。
调用代码
Session session = sessionFactory.openSession();
4>Transaction:
概述:
它将应用代码从底层的事务实现中抽象出来——这可能是一个JDBC事务,一个JTA用户事务或者甚至是一个公共对象请求代理结构(CORBA)——允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的执行环境或容器中的可移植性。
调用代码:
Transaction tx = session.beginTransaction();
注:使用Hibernate进行操作时(增、删、改)必须显示的调用Transaction(默认:autoCommit=false)。
5>Query:
概述:
Query(查询)接口允许你在数据库上执行查询并控制查询如何执行。查询语句使用HQL或者本地数据库的SQL方言编写。
调用代码:
Query query = session.createQuery(“from User”);
Hibernate对JavaBean要求:
1:唯一标识
2:get|set方法
3:无参数构造函数
4:集合类型必须申明为接口类型
开发步骤:
1:建立工程java
2:导入jar文件
3:写实体和接口
4:配置xml文件
5:获得sessionfactory
6:获得session
7:开始事务
8:do some work
9:提交事务
10:回滚事务
11:关闭资源
Hirbenate底层调用jdbc
sql :select * from prefix_student where id=?
hql: from Student student where student.id=:id
- day24 ORM Hibernate常用的接口和类(Configuration, SessionFactory , Session, Transaction ,Query) hql
- Hibernate的5个核心接口:Session、SessionFactory、Transaction、Query和Configuration
- Session,SessionFactory,Configuration,Transaction,Query和Criteria接口,Callback接口
- Hibernate常用的接口和类Configuration&SessionFactory(三)
- hibernate的Configuration类和SessionFactory接口
- Hibernate常用的接口和类Session&Transaction(四)
- Hibernate学习-09:核心API:Configuration、SessionFactory、Session、Transaction、Query、Criteria
- Configuration、SessionFactory、Session、Transaction
- hibernate案例入门一query transaction criteria sessionfactory和session区别 get和load的区别 opensession 和 getcurre
- Hibernate的 SessionFactory,Configuration,Query ,Criteria接口简介,及Query的查询方法
- Hibernate的Transaction(事务)接口和Query接口
- Hibernate的Transaction SessionFactory
- Hibernate之Configuration,SessionFactory,Session
- Hibernate之Configuration,SessionFactory,Session
- Hibernate之Configuration,SessionFactory,Session
- Hibernate之Configuration,SessionFactory,Session
- Hibernate之Configuration,SessionFactory,Session
- Hibernate学习---Configuration,Session,SessionFactory
- day22 封装工具类 存储过程
- 第十四章: 程序员的度
- 通过API实现C#对硬件的控制(三)
- day23 事务(Mysql和Oracle的区别) 元数据
- java网站
- day24 ORM Hibernate常用的接口和类(Configuration, SessionFactory , Session, Transaction ,Query) hql
- Lesson 3
- bcp 导出数据到txt
- [译]OOSE第5章:面向对象的程序设计 5.3 Classes and instances
- BCB编写DLL终极手册
- 上班经验
- sql server Excel 数据导入
- [译]OOSE第5章:面向对象的程序设计 5.4 Inheritance
- 从xDAIS到API