欢迎来到天天文库
浏览记录
ID:29636046
大小:1.17 MB
页数:48页
时间:2018-12-21
《java与数据库的连接》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java数据库连接,(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是SunMicrosystems的商标1。它JDBC是面向关系型数据库的。程序类型 [1]JDBC驱动程序共分四种类型:类型1 JDBC-ODBC桥 这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。类型2 本地API驱动 这
2、种类型的驱动通过客户端加载数据库厂商提供的本地代码库(C/C++等)来访问数据库,而在驱动程序中则包含了Java代码。类型3 网络协议驱动 这种类型的驱动给客户端提供了一个网络API,客户端上的JDBC驱动程序使用套接字(Socket)来调用服务器上的中间件程序,后者在将其请求转化为所需的具体API调用。 本地协议驱动 这种类型的驱动使用Socket,直接在客户端和数据库间通信。编辑本段API概述 JDBCAPI主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具
3、体实现): DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。Prepare
4、dStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。 数据类型的映射 从SQL到Java数据类型映射的JDBC规范SQL类型Java类型CHARjava.lang.StringVARCHARjava.lang.StringLONGVARCHARjava.lang.StringNUMERICjava.math.BigDecimal
5、DECIMALjava.math.BigDecimalBITbooleanTINYINTbyteSMALLINTshortINTEGERintBIGINTlongREALfloatFLOATdoubleDOUBLEdoubleBINARYbyte[]VARBINARYbyte[]LONGVARBINARYbyte[]DATEjava.sql.DateTIMEjava.sql.TimeTIMESTAMPjava.sql.TimestampBLOBjava.sql.BlobCLOBjava.sql.ClobArrayjava.sql.ArrayREFj
6、ava.sql.RefStructjava.sql.Struct注:这种类型匹配不是强制性标准,特定的JDBC厂商可能会改变这种类型匹配。例如Oracle中的DATE类型是包含时分秒,而java.sql.Date仅仅支持年月日。编辑本段连接方式 下面罗列了各种数据库使用JDBC连接的方式: ⒈Oracle8/8i/9i数据库(thin模式) ⒉DB2数据库 ⒊SqlServer7.0/2000数据库 ⒋Sybase数据库 ⒌Informix数据库 ⒍MySQL数据库 ⒎PostgreSQL数据库 ⒏access数据库直连用ODBC
7、的编辑本段主要用途 与数据库建立连接 发送SQL语句 处理结果编辑本段连接API JDBC是个"低级"接口,也就是说,它用于直接调用SQL命令。在这方面它的功能极佳,并比其它的数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC这样的低级接口。 在关系数据库的"对象/关系"映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对Java对象进行操作;存取数据
8、所需的SQL调用将在"掩盖下"自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个Java类中。 随着人们对
此文档下载收益归作者所有