您的位置:首页 > 编程语言 > Java开发

J2EE学习从菜鸟变大鸟之五 JDBC(Java Data Base Connectivity)

2014-03-03 08:04 423 查看
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在J***A语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性,接下来要学习的内容还有很多啊
从ODBC->JDBC->Hibernate时刻体现着软件工程中高内聚低耦合的思想,降低了开发难度、开发周期、拓展了Java的功能,再一次体会到了软件工程思想的强大!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: