JDBC的概念
JDBC是一套API集合,该集合设置了许多允许Java程序连接数据库的框架。JDBC操作在某些方面看起来和ODBC一样。区别是ODBC不能在Java程序中直接实现,原因是ODBC是用C语言写的。然而JDBC提供了JDBC/ODBC之间的桥梁。JDBC是围绕着X/Open Call Level Interface(CLI)设计的,一个CLI意味着可直接用SQL查询数据库并得到一行结果。
JDBC提供的连接数据库的几种方法
1)与数据源直接通信:使用JDBC和数据库已制定的协议时,可使用一个驱动程序直接与数据源通信。既可以建立自己的驱动程序,也可找一个公用的。
2)通过JDBC驱动程序的通信:可连接到一个高标准的驱动程序上,该驱动程序依次与另一个可与数据源通信的专用驱动程序通信。
3)与ODBC数据源通信:一个公开可用的专用驱动程序是JDBC/ODBC桥梁驱动程序,它是Javasoft公司开发的,允许应用程序与ODBC数据源相连。
JDBC的基本功能和特点
1)JDBC的基本功能包括:a建立与数据库的连接;b发送SQL语句;c处理结果。
2)JDBC是低级的API,是高级API的基础:JDBC是一种低级的接口,它直接调用SQL命令,但又可以作为构造高级接口和工具的基础。在执行时,高级API将首先被翻译成如JDBC这样的低级接口。
3)JDBC与ODBC及其他API的比较:
①Java不能直接使用ODBC,因为ODBC使用C语言接口,如果让Java来调用本机C代码,将会在安全,属性,健壮性,应用的可移植性等方面带来困难。
②不希望把ODBC API逐字翻译成Java API,例如ODBC使用了大量易于出错的指针,而Java取消了这种不安全的指针。
③ODBC难以学习,它把简单功能和高级功能混杂在一起,即便是简单的查询也会带来复杂的任选项。而JDBC的设计使得简单的事情用简单的做法,仅在必要时才让用户使用高级功能。
④JDBC的Java API提供纯Java的解决方法,当使用ODBC时,ODBC驱动器管理程序与驱动器必须手工装入到每台客户机上。而JDBC驱动器全是用Java编写的,JDBC代码可在所有Java平台上自动安装,并且是可移植的和安全的。
JDBC中Statement对象的作用
来自java api用于执行静态 SQL 语句并返回它所生成结果的对象。
在默认情况下,同一时间每个 Statement 对象在只能打开一个 ResultSet 对象。因此,如果读取一个 ResultSet 对象与读取另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它 来自java api用于执行静态 SQL 语句并返回它所生成结果的对象。
在默认情况下,同一时间每个 Statement 对象在只能打开一个 ResultSet 对象。因此,如果读取一个 ResultSet 对象与读取另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它。