知识大全 Java网络数据库编程及其应用

Posted 数据库

篇首语:我相信:一切事物的价值必将重新得到评估。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java网络数据库编程及其应用相关的知识,希望对你有一定的参考价值。

Java网络数据库编程及其应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  随着电子商务及动态网站的迅速发展 Java 网络数据库编程得到了越来越广泛的应用   JDBC由一组用Java语言编写的类组成 它已成为一种供数据库开发者使用的标准API 通过JDBC本身提供的一系列类和接口 Java 编程开发人员能够很方便地编写有关数据库方面的应用程序   JDBC简介  JDBC(Java Database Connectivity) 是Java 实现数据库访问的API(Application Programming Interface) 与Microsoft 的ODBC(Open Database Connectivity) 一样 JDBC是建立在X/Open SQL CLI(Call Level Interface)基础上的 JDBC的主要功能是管理存放在表中的数据 所以它定义了一系列与关系数据库进行交互的类和接口 如数据库连接 SQL 语句 结果集和元数据等   一般来说 JDBC 的工作主要分为 个步骤 首先与某一关系数据库建立连接 然后向数据库发送SQL 语句 实现对数据库的操作 最后取得处理结果   实现上述JDBC基本功能的 个步骤程序示例如下      connection con=DriveManager GetConnection( jdbc:odbc: ghq root password ):    //建立与数据库的连接  Statement stmt=con createstatement(); //建立语句对象  ResultSet rs=stmt executeQuery( SELECT a b FROM Table )   //运行SQL语句 返回数据库操作结果  while (rs next())   int x=getInt( a ); //获得数据库表记录a项的值   string s=getstring( b ); //获得数据库表记录b项的值       JDBC 接口和驱动程序   JDBC 接口   JDBC提供的接口主要有两种 一种是面向一般应用程序开发人员的JDBC API 另一种是底层的JDBC Driver API 如图 所示       图 使用JDBC的基本结构  JDBC API是一系列抽象的接口 应用程序开发人员通过它可以编写访问数据库的Java应用程序 JDBC API中 抽象类的实现是由驱动程序开发商提供的 驱动程序实现了应用程序和某个数据库产品之间的接口 它的管理器则对应用程序和驱动程序之间的交互进行控制 JDBC API主要用来连接数据库和直接调用SQL命令 执行各种SQL语句 利用JDBC API可以执行一般的SQL语句 动态SQL语句 以及带IN和OUT参数的存储过程     JDBC中的驱动程序必须提供实现方法的接口 JDBC API被定义在java sql包中 其中定义了JDBC API用到的所有类 接口和方法 主要的类和接口有     · DriverManager类——处理驱动程序的装入 为新的数据库连接提供支持 驱动程序要向该类注册后才能被使用 进行连接时 该类根据JDBC URL选择匹配的驱动程序     · java sql Driver接口——驱动程序接口 负责确认URL与驱动程序的匹配 建立到数据库的连接等 其中的方法需要有相应的驱动程序实现     · java sql Connection接口——表示到特定数据库的连接 其中的方法需要有相应的驱动程序实现     · java sql Statement接口——为SQL语句提供一个容器 包括执行SQL语句 取得查询结果等方法 此接口有两个子类型   ( )java sql PreparedStatement 用于执行预编译的SQL语句   ( )java sql CallableStatement 用于执行对一个数据库内嵌过程的调用   · java sql ResultSet接口——提供对结果集进行处理的手段     JDBC Driver API 是面向驱动程序开发商的接口 对于大多数数据库驱动程序来说 仅仅实现JDBC API提供的抽象类就可以了 也就是说每一个驱动程序都必须提供对于java sql Connection java sql Statement java sql PreparedStatement和java sql ResultSet等主要接口的实现方法 如果目标DBMS提供有OUT参数的内嵌过程 那么还必须提供java sql CallableStatement 接口 每个数据库驱动程序必须提供一个java sql Driver类 使得系统可以由 java sql DriverManager来管理   一个典型的驱动程序是在ODBC上提供对JDBC的实现接口 从而提供与ODBC接口的JDBC ODBC桥 就像前面图 所显示的 由于JDBC放在ODBC之后 所以实现起来简单而且高效    JDBC 驱动程序   JDBC驱动程序可以分为下面四种类型 分别适用于不同的场合 如图 所示       图 驱动程序的 种类型  · JDBC ODBC桥驱动程序   Sun产品通过ODBC驱动程序提供JDBC的存取 即经过ODBC 驱动程序访问数据库 在大多数情况下 ODBC二进制代码必须在每个使用该数据库驱动程序的客户端安装 所以这种驱动程序主要适用于公司内部网络 或者在三层结构中用Java编写的应用服务器代码   下面以Access数据库为例来具体说明 代码如下      Class forname( sun jdbc odbc JdbcOdbcDriver );//调用JDBC ODBC 驱动程序   Connection con=DriverManager getConnection( jdbc:odbc:temp sa );  //与数据库连接 temp 是配置Access数据库ODBC建立的数据源 sa 为用户名 口令为空  Statement s=con createStatement(ResultSet TYPE_SCROLL_SENSITIVE ResultSet   CONCUR_READ_ONLY);  //创建Statement  ResultSet rs=s executeQuery( select * from test );  //执行查询结果存放在ResultSet中 test是一个数据库表     · 本机应用编程接口的Java 驱动程序   此类驱动程序转换JDBC调用客户端的 针对特定数据库系统的API 如Oracle Sybase Informix DB 或其它的 DBMS 像桥驱动程序一样 这种类型的驱动程序要求在每一个客户机上安装一些二进制代码     下面以IBM DB 数据库为例来具体说明      Class forname( ibm db jdbc app DB Driver );//调用JDBC 本地驱动程序   String db= test ;//数据库名  String URL= jdbc:db : +db;//URL 值  String userid= adm ;//数据库用户名  String password= abc ;//数据库用户密码  Connection con=DriverManager getConnection(URL userid password);//与数据库连接  Statement s=con createStatement();//创建Statement     · 数据库中间件的纯Java 驱动程序     此类驱动程序将JDBC调用转换成为中间件供应商的协议 然后通过中间件服务器转换成为DBMS协议 网络服务器中间件可以连接所有Java客户端到各种不同的数据库 但是特定的协议取决于供应商 通常这种方式是JDBC最方便的选择 提供商可为Internet用户提供产品套件 为了使这些产品能够支持Internet访问 他们还必须处理安全 防火墙穿越等需求 各个提供商正在增加JDBC驱动程序到他们现存的中间件产品中   下面以Oracle 数据库为例来具体说明      DriverManager registerDriver(new oracle jdbc driver OracleDriver())   //在Oracle中注册驱动程序 Driver Manager类允许动态地注册驱动程序  Connection conn=  DriverManager getConnection( jdbc:oracle:thin:@ghq: :book system manager )   /**  * 将连接字符串传递给这个方法以建立到数据库的连接 连接字符串中的第一个值指明thin JDBC 驱动程序   * (用的是@符号)连接一个名为ghq的Hostname(或连接IP地址) 端口是 数据库的Oracle   SID是book 连* 接的用户名是system 口令是manager   **/  Statement statemt=conn createStatement() //创建一个SQL语句对象  ResultSet rsltset=statemt executeQuery( SELECT USERNAME FROM book )   //执行查询结果存放在ResultSet中 book是一个数据库表     · 直接连接数据库的纯Java 驱动程序   这种驱动程序是本地协议的纯Java驱动程序 它转换JDBC调用由DBMS直接使用的网络协议 这种方式允许从客户机到DBMS服务器的直接调用 是Intranet访问的一种行之有效的解决方案 因为这些协议多数是专用的 因此数据库提供商将成为这种驱动程序的主要来源     下面以MS SQL 数据库为例来具体说明     后台数据库采用MS SQL Server 相应的JDBC Driver为MS SQL Server特定的驱动程序 inet tds TdsDriver(可以在网上下载) Java版本是 x JDBC 版本是        String url= jdbc:jdbc:inetdae:localHost: ;//inetdae是驱动程序子协议名  String login= sa ;  String password= ;  Class forName( inet tds TdsDriver );  Connection con=DriverManager getConnection(url login password);  Statement s=con createStatement();  ResultSet rs=s executeQuery( select * from table );     JDBC 使用方法  目前 Java使用最多的Applet是Web文件的一个组成部分 其中有数据库存取的Applet和能够使用JDBC来接触数据库的Applet   Java Applet 通过JDBC 访问数据库的工作流程可以用图 来描述       图 Applet通过JDBC访问数据库的工作流程  首先Web 浏览器从Web 服务器中下载嵌有Applet 的HTML 页面 解释并执行Applet 字节码 当执行到有访问数据库的Java 语句时 Applet 直接将相应的Java 命令发送给装在服务器上的JDBC 通过JDBC 向后端数据库发出SQL 请求 然后数据库将处理结果通过JDBC 直接返回给Applet Applet 通过JDBC 访问数据库的方法是一种Web 数据库访问的实现方案 cha138/Article/program/Java/hx/201311/26428

相关参考

知识大全 Java 网络编程

Java网络编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  网络编程作为Java的主要应用之

知识大全 Java中的异步网络编程

Java中的异步网络编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文对编写客户服务器应用

知识大全 Java网络编程-Java Socket编程(五)

Java网络编程-JavaSocket编程(五)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java网络编程-Java Socket编程(一)

Java网络编程-JavaSocket编程(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java网络编程-Java Socket编程(二)

Java网络编程-JavaSocket编程(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java网络编程-Java Socket编程(四)

Java网络编程-JavaSocket编程(四)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java网络编程-Java Socket编程(三)

Java网络编程-JavaSocket编程(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!li

知识大全 java以及其相关性应用

  马上就要开始C++编程对于java掐指算来去年月份开始到现在一年有余了经历一年的java生涯中同时在加上前段时间的ibm的培训不由想为自己或者别人总结一下java以及其相关性的东西本人觉得这篇文章

知识大全 Java学习---网络编程

Java学习---网络编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  网络模型OSI的网络模

知识大全 Java编程那些事儿9——网络编程基础[1]

Java编程那些事儿9——网络编程基础[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于