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的功能,再一次体会到了软件工程思想的强大!!!



6 0
原创粉丝点击