J2EE--JDBC

版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/kanglix1an/article/details/36893005

什么是JDBC?

     Java语言訪问数据库的一种规范,是一套API。JDBC(Java Database Connectivity)API。即Java数据库编程接口。是一组标准的Java语言中的接口和类。使用这些接口和类,Javaclient程序能够訪问各种不同类型的数据库。比方建立数据库连接、运行SQL语句进行数据的存取操作。

 

    JDBC规范採用接口和实现分离的思想设计了Java数据库编程的框架。 为了使client程序独立于特定的数据库驱动程序,JDBC规范建议开发人员使用基于接口的编程方式。

 


 

什么是JDBC驱动程序?

       是各个数据库厂家依据JDBC的规范制作的JDBC实现类。

JDBC驱动程序的四种类型:

1.第一种类型的驱动程序的实现是通过将JDBC的调用所有托付给其他编程接口来实现的,比方ODBC。这样的类型的驱动程序须要安装本地代码库,即依赖于本地的程序。所以便携性较差。比方JDBC-ODBC桥驱动程序

2. 另外一种类型的驱动程序的实现是部分基于Java语言的。即该驱动程序一部分是用Java语言编写,其他部分托付本地的数据库的client代码来实现。

同类型1的驱动一样,该类型的驱动程序也依赖本地的程序,所以便携性较差

3. 第三种类型的驱动程序的实现是所有基于JAVA语言的。该类型的驱动程序通常由某个中间件server提供,这样client程序能够使用数据库无关的协议和中间件server进行通信,中间件server再将client的JDBC调用转发给数据库进行处理

4.第四种类型的驱动程序的实现是所有基于JAVA语言的。该类型的驱动程序中包括了特定数据库的訪问协议。使得client能够直接和数据库进行通信

 

 

JAVA使用JDBC訪问数据库的步骤(与ODBC使用基本相似):

1.得到数据库驱动程序

2.创建数据库连接

3. 运行SQL语句

4.得到结果集

5.对结果集做相应的处理(增,删,改,查)

6.关闭资源:这里释放的是DB中的资源


 

  

    PS:Oracle连接字符串的书写格式:“oracle:jdbc:thin:@ip:1521: 数据库名”,”数据库username”,”数据库password”


简单的样例:

public void TestJdbc() {
		String sql = "select * from test_user";
		Connection con = null;
		Statement st = null;
		ResultSet rs = null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			con = DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:1521:name", "root", "123456");
			st = con.createStatement();
			rs = st.executeQuery(sql);
			while (rs.next()) {
				System.out.println(rs.getInt("id"));
				System.out.println(rs.getString("name"));
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (Exception e) {
			}

			try {
				st.close();
			} catch (Exception e) {
			}

			try {
				rs.close();
			} catch (Exception e) {
			}
		}
	}

与ODBC比較:

 

      JDBC和ODBC事实上都是用来连接数据库的驱动程序。ODBC中文名字叫做开放数据库互联,是微软技术人员开发的开放服务结构中有关数据库的一个组成部分,它建立一组相关的规范。并提供了一组对数据库訪问的标准应用程序编程接口。

简单的说,ODBC就是应用程序与数据库系统进行交互的工具。所有的数据库操作由相应的数据库系统的ODBC驱动程序来完毕。从而能够实现以同一的方式来处理所有的数据库。

      JDBC与ODBC相似,也是一个应用程序与数据库进行通信的中介。仅仅是他们的开发商不同而已。JDBC是由Sun公司向关系型数据库系统厂商提供JDBC的规格与需求;然后各大厂商遵循标准规格设计出符合自己数据库产品的JDBC驱动程序。

JDBC的整体结构相似于ODBC,有四个组件:应用程序、驱动程序管理器、驱动程序和数据源,工作原理亦大体同于ODBC. 

 

差别:

1.JDBC要比ODBCeasy理解。

2.JDBC数据库驱动程序是面向对象的。

3.JDBC的移植性要比ODBC要好

 

      总之JDBC与ODBC都是数据库的驱动程序,它们的本质是同样的,都是为了处理SQL语句而设计的。并且JDBC在设计的时候。其也是在ODBC的基础上进行设计的,并保留了ODBC数据库驱动程序的部分功能。或者说,我们能够把JDBC看作是ODBC的还有一个高级版本号也未尝不可。

JDBC主要在操作上、友好性上做了一定的改进。


原文地址:https://www.cnblogs.com/mqxnongmin/p/10969314.html