JDBC:(Java Data Base Connectivity)java数据库连接
java.sql包提供JDBC API,可通过它编写訪问数据库的程序代码.当中经常使用的接口和类包含以下内容:
- DriverManager:驱动程序管理器,负责创建数据库连接
- Connection:代表数据库连接
- Statement:负责运行SQL语句
- PreparedStatement:负责运行SQL语句,具有提前定义SQL语句的功能
- ResultSet:代表SQL查询语句的查询结果集
Hibernate(Java对象持久化技术):
Hibernate是一个开放源码的对象关系映射框架,它对JDBC进行了很轻量级的对象封装。使得Java程序猿能够随心所欲的使用对象编程思维来操纵数据库。 Hibernate能够应用在不论什么使用JDBC的场合,既能够在Java的client程序使用,也能够在Servlet/JSP的Web应用中使用。最具革命意义的是,Hibernate能够在应用EJB的J2EE架构中代替CMP,完毕数据持久化的重任。
Hibernate的核心接口一共同拥有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。
Session接口:负责运行被持久化对象的CRUD操作(CRUD的任务是完毕与数据库的交流,包括了非常多常见的SQL语句。
)。但须要注意的是Session对象是非线程安全的。同一时候,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,事实上指的是Hibernate中的session。而以后会将HttpSession对象称为用户session。
SessionFactory接口:负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。
这里用到了工厂模式。须要注意的是SessionFactory并非轻量级的。由于普通情况下。一个项目通常仅仅须要一个SessionFactory就够,当须要操作多个数据库时,能够为每一个数据库指定一个SessionFactory。
Transaction接口:是一个可选的API,能够选择不使用这个接口,取而代之的是Hibernate 的设计者自己写的底层事务处理代码。 Transaction 接口是对实际事务实现的一个抽象,这些实现包含JDBC的事务、JTA
中的UserTransaction、甚至能够是CORBA 事务。
之所以这样设计是能让开发人员能够使用一个统一事务的操作界面,使得自己的项目能够在不同的环境和容器之间方便地移值。
Query接口:让你方便地对数据库及持久对象进行查询,它能够有两种表达方式:HQL语言或本地数据库的SQL语句。
Query常常被用来绑定查询參数、限制查询记录数量,并终于运行查询操作。
Criteria接口:与Query接口很类似,同意创建并运行面向对象的标准化查询。
值得注意的是Query接口也是轻量级的,它不能在Session之外使用。
Configuration 接口:作用是对Hibernate
进行配置,以及对它进行启动。在Hibernate 的启动过程中。Configuration 类的实例首先定位映射文档的位置。读取这些配置,然后创建一个SessionFactory对象。尽管Configuration 接口在整个Hibernate 项目中仅仅扮演着一个非常小的角色,但它是启动hibernate
时所遇到的每个对象。
版权声明:本文博客原创文章,博客,未经同意,不得转载。