Hibernate(一)JDBC简介
在了解Hibernate之前,我们先回顾一下传统JDBC访问数据库的相关内容。重点在于分析JDBC访问存在哪些 缺陷,这些缺陷在Hibernate中是如何思考和解决的?
JDBC主要对象
DriveManager:代表驱动程序管理器 ,负责创建数据库连接
Connection:代表数据库连接
Statement:负责执行SQL语句
PrepareStatement: 继承Statement,负责执行SQL语句,具有预定义SQL语句的功能
Result:代表 SQL查询语句的查询结果集
JDBC访问步骤
1、加载并注册驱动JDBC驱动程序
2、建立数据库连接
3、 创建Statement对象,并准备执行SQL语句
4、执行SQL语句
5、依次关闭 Statement和Connection对象
JDBC缺陷
1、编程人员既要懂Java语言,又要懂SQL语言,才能编写数据库 访问代码
2、程序代码中嵌入大量字符串形式点的SQL语句,降低了程序代码的独立性和可读性
3、程序 代码与关系数据库结构绑定在一起,削弱了程序代码的独立性和可靠性。例:数据库表修改了一个字段名,那 么程序代码中涉及的SQL语句也要进行修改
4、编程人员需要了解,对象和表、属性和字段对应关系。因此 编程人员即需要熟悉对象模型,又需要懂得关系数据库,还要了解两者的对应关系,所以编程人员不能按照完 全面向对象的思维来编写程序代码
了解JDBC访问数据库的缺陷之后,我们接 下来会做一个简单的示例,并针对此示例分析一下,Hibernate的执行步骤和如何解决JDBC带来的缺陷。
Hibernate(一)JDBC简介的更多相关文章
- JDBC与ORM发展与联系 JDBC简介(九)
概念回顾 回顾下JDBC的概念: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它 ...
- JavaWeb技术(一):JDBC简介
一. JDBC简介 1. Java Database Connectivity(JDBC) 使用JDBC可以对数据库进行访问 2. JDBC的核心接口 1)DriverManager 驱动管理器接口 ...
- Hibernate和JDBC、EJB比较
参考:http://m.blog.csdn.net/article/details?id=7228061 一.Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App S ...
- 简述 Hibernate 和 JDBC 的区别、优缺点
1.hibernate是一个开源的.采用面向对象的思想实现ORM映射框架,它对jdbc进行了一层封装,对于数据库的连接.关闭.数据的持久化(增删改查).事务的管理都进行了封装,使得程序开发的时候可以用 ...
- JDBC设计理念浅析 JDBC简介(一)
概念 JDBC是J2EE的标准规范之一,J2EE就是为了规范JAVA解决企业级应用开发制定的一系列规范,JDBC也不例外. JDBC是用于Java编程语言和数据库之间的数据库无关连接的标准Java A ...
- JDBC驱动程序注册 JDBC简介(二)
使用JDBC进行数据库操作的第一步就是驱动注册(当然你得先导入JAR). 驱动注册有多种方式,第一步必然是获得正确的驱动名称与URL格式 驱动名称与URL格式 RDBMS 驱动程序名称 ...
- DriverManager 驱动管理器类简介 JDBC简介(三)
驱动程序管理器是负责管理驱动程序的,驱动注册以后,会保存在DriverManager中的已注册列表中 后续的处理就可以对这个列表进行操作 简言之,驱动管理器,就是字面含义,主要负责就是管理 驱动 概述 ...
- Connection 对象简介 方法解读 JDBC简介(四)
通过驱动管理器DriverManager的getConnection方法,可以创建到指定URL的连接 Connection conn = DriverManager.getConnection ...
- 执行对象Statement、PreparedStatement和CallableStatement详解 JDBC简介(五)
执行对象是SQL的执行者,SQL是“安排好的任务”,执行对象就是“实际工作的人”. 执行对象有三种: Statement.PreparedStatement和CallableStatement,他们都 ...
- JDBC 异常简介 jDBC简介(六)
SQL 异常简介 对于数据库的操作访问,必然也很可能抛出异常. JDBC中定义了SQLException,用于描述数据库相关操作中可能出现的异常情况. java.sql.SQLException ...
随机推荐
- jq版本更新后无live函数的处理.
之前你的代码如果是$("#ele").live("click", function() { //...});现在要写成$("#ele" ...
- 懒人神器之T4模板
最近遇到一个比较令人烦躁的问题,特别是对于我等懒癌末期者.实在难以忍受!具体问题是这样,这个项目是一个新的项目.使用EF框架来开发,那么在搭建架构时,当我们新加一个Entity时,就需要在每个层级添加 ...
- c#yield,IEnumerable,IEnumerator
foreach 在编译成IL后,实际代码如下: 即:foreach实际上是先调用可枚举对象的GetEnumerator方法,得到一个Enumerator对象,然后对Enumerator进行while循 ...
- SQL Server2012连接SQL Server2000完美解决方案
在SQL Server2012中连接其他SQL Server数据库时可以使用以下代码: exec sp_addlinkedserver 'ITSV', '', 'SQLOLEDB', 'serveri ...
- php递归数组中的应用
<?php $arr = array(array(1,2), array(3, 4), array(array(5, 6), array(7, 8)));function t($a){ i ...
- Listview控件实现已选择效果
Winform中用Listview控件实现更新点击选择后已选择效果,如图: 代码如下: private void frmSelect_Load(object sender, EventArgs e) ...
- predis如何实现phpredis的pconnect方法
predis和phpredis都是redis的php客户端,区别可以看这里,这里不赘述. phpredis是php扩展,由C语言编写,诞生较早,很多PHPer都熟悉. predis是用PHP语言编写, ...
- 精通 Oracle+Python,第 7 部分:面向服务的 Python 架构
面向服务的架构 (SOA) 在当今的业务战略中具有至关重要的作用.混搭企业组件已成为所有任务关键的企业应用程序的标准要求,从而确保在企业架构的各层实现顺畅的服务编排.对此,Python 是一个不错的选 ...
- Python核心编程2第五章课后练习
5-1 整型,讲讲python普通整型与长整型区别 python整形一共有三种:布尔型,长整型和标准整型.普通整型与长整型的区别在于标准整形的取值范围是-2^31到2^31-1,长整型所能表达的数值与 ...
- windows server 2012服务器IIS基本配置