J2EE学习从菜鸟变大鸟之五 JDBC(Java Data Base Connectivity)
来源:互联网 发布:数据的独立性是指 编辑:程序博客网 时间:2024/05/01 10:37
JDBC刚开始学习这个的时候看到了,以为是ODBC呢,很是相似啊,总的来说还是基本上一类的东东,但是还有一些细微的区别,下面和大家一起分享学习。
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
如下图:
ODBC API 可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。
为什么 Java 不使用ODBC?
Java 可以使用 ODBC,但最好是在 JDBC 的帮助下以JDBC-ODBC桥的形式使用,现在的问题已变成:"为什么需要JDBC"?答案是:
优点1
ODBC 不适合直接在 Java中使用,因为它使用 C 语言接口。从Java 调用本地 C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。
从 ODBC C API到 Java API 的字面翻译是不可取的。例如,Java 没有指针,而ODBC 却对指针用得很广泛(包括很容易出错的指针"void *")。
可以将 JDBC 想象成被转换为面向对象接口的 ODBC,而面向对象的接口对 Java程序员来说较易于接受。ODBC很难学。它把简单和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。相反,JDBC尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。启用"纯 Java "机制需要象 JDBC 这样的 JavaAPI。如果使用ODBC,就必须手动地将 ODBC 驱动程序管理器和驱动程序安装在每台客户机上。如果完全用 Java 编写 JDBC 驱动程序则 JDBC代码在所有 Java 平台上(从网络计算机到大型机)都可以自动安装、移植并保证安全性。
优点2
JDBC API 使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。
ODBC:基于C语言的数据库访问接口。
JDBC:是Java版的ODBC。
JDBC 特性:高度的一致性、简单性(常用的接口只有4、5个)。
开发JDBC数据库应用程序的基本步骤:
1、建立连接;
2、执行SQL语句;
3、处理结果集;
4、关闭连接。
JDBC实例讲解
在JDBC 的操作中,如果要想进行数据库的连接,则必须按照以上的几步完成
1、通过Class.forName()加载数据库的驱动程序
2、通过DriverManager 类进行数据库的连接,连接的时候要输入数据库的连接地址、用户名、密码
3、通过Connection 接口接收连接
package org.connectiondemo; import java.sql.Connection; import java.sql.DriverManager; public class ConnectionJDBC { /** * @param args */ //驱动程序就是之前在classpath中配置的JDBC的驱动程序的JAR 包中 public static final String DBDRIVER = "com.mysql.jdbc.Driver"; //连接地址是由各个数据库生产商单独提供的,所以需要单独记住 public static final String DBURL = "jdbc:mysql://localhost:3306/test"; //连接数据库的用户名 public static final String DBUSER = "root"; //连接数据库的密码 public static final String DBPASS = ""; public static void main(String[] args) throws Exception { Connection con = null; //表示数据库的连接对象 Class.forName(DBDRIVER); //1、使用CLASS 类加载驱动程序 con = DriverManager.getConnection(DBURL,DBUSER,DBPASS); //2、连接数据库 System.out.println(con); con.close(); // 3、关闭数据库 } }
总结
尽管JDBC在JAVA语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性,接下来要学习的内容还有很多啊
从ODBC->JDBC->Hibernate时刻体现着软件工程中高内聚低耦合的思想,降低了开发难度、开发周期、拓展了Java的功能,再一次体会到了软件工程思想的强大!!!
- J2EE学习从菜鸟变大鸟之五 JDBC(Java Data Base Connectivity)
- J2EE学习从菜鸟变大鸟之六 EJB(Enterprise JavaBean)企业级Java组件
- [置顶] J2EE学习从菜鸟变大鸟之六 EJB(Enterprise JavaBean)企业级Java组件
- J2EE学习从菜鸟变大鸟之七 Servlet
- J2EE学习从菜鸟变大鸟之四 JNDI(Java Naming and Directory Interface)
- Java学习从菜鸟变大鸟之二 输入输出流(IO)
- Java学习从菜鸟变大鸟之二 输入输出流(IO)
- J2EE学习从菜鸟变大鸟之八 企业级项目开发的思考
- J2EE学习从菜鸟变大鸟之九 深入浅出理解 Servlet-----实例解析
- JDBC(Java Data Base Connectivity)
- Jdbc(Java Data Base Connectivity,java数据库连接)
- JDBC(Java Data Base Connectivity)基本用法
- JDBC(Java Data Base Connectivity)高级用法
- Java学习从菜鸟变大鸟之三 多线程中Thread 和Runnable的区别与运用
- Java学习从菜鸟变大鸟之一 hashCode()和equals()的本质区别和联系
- Java学习从菜鸟变大鸟之一 hashCode()和equals()的本质区别和联系
- 【设计模式】从菜鸟到大鸟之工厂三姐妹
- 【设计模式】从菜鸟到大鸟之命令模式
- iOS画折线图
- lua 学习总结1:随笔
- Unity3D编辑器插件
- hadoop在linux操作系统中部署遇到的问题及解决方案
- windows git客户端安装
- J2EE学习从菜鸟变大鸟之五 JDBC(Java Data Base Connectivity)
- JAVA基础知识复习3
- JDBC的接口
- Binary Tree Level Order Traversal II 有不解。。。
- 九度OnlineJudge-堆栈的的使用(1108)
- java JDBC 数据库之间的知识点,以后会持续更新记录
- 应用程序挂起、复原与终止— IOS开发
- POJ 1384 Piggy-Bank(完全背包问题)
- JAVA最简单算法题合集