它包括了应用程序接口、驱动器管理器、数据库驱动器、数据源。
以下我们通过一副图来了解ODBC各个部分之间的关系:
因此,JDBC就出项了,即JDBC是基于JAVA语言的数据库訪问API接口。
然后其它内容就和ODBC基本一致了。仅仅要你了解了ODBC,那么在概念上基本就理解了JDBC。那么你须要做的就是对新面孔出项的接口再了解一遍就好了,而且这些接口的功能和ODBC是一致的,仅仅是说在实现上有细微的区别。以下也看看JDBC的结构图:
因此JDBC通过映射ODBC的功能调用就保证了原来使用ODBC的数据库也能够非常方便的訪问的。
? ? ?2、本地API驱动:即把JDBC调用转换为对数据库接口的client二进制代码库的调用。
可是这个接口库依赖于产商。由于这里我们调用的不是数据库厂商提供的JDBC的接口实现。
? ? ?3、纯Java本地协议:即把JDBC调用映射为DBMS的网络监听协议的功能调用,监听程序监听到请求后运行相关的数据库操作。监听程序是由厂商提供的。
即Class.forName()方法,调用这种方法须要传递一个包括该驱动程序类名的String对象作为实參。例如以下:? ?
Class.forName("oracle.jdbc.driver.OracleDriver")
String url = "jdbc:oracle:thin:@localhost:1521:pdborcl";
String username = "123";
String password = "123";
Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement pstmt = conn.prepareStatement("select * from t_user where userId=?");
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
假设Next()之后的行合法返回True,否则False。因此,循环时Next()方法作为推断根据。
? ? 到这里JDBC的简介就结束了,JDBC在使用中充当了一个沟通者的角色。这让我想起姚明在NBA打球的那个设计模式:适配器模式,这也就成就了Java应用程序跨平台的特性。同一时候,JDBC、ODBC等也是面向接口编程思想的典型体现。
?对了,这里还缺了一个OLE DB。没有提及。下回吧……
原文:https://www.cnblogs.com/mqxnongmin/p/10786180.html