仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1461|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA网页设计JSP进修――周全剖析JDBC(8)附录

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:32:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,js附录:JDBCTM手艺剖析

  1.JDBCTM的界说

  JDBCTM是一种用于实行SQL语句的JavaTMAPI,它由一组用Java编程言语编写的类和接口构成。JDBC为工具/数据库开辟职员供应了一个尺度的API,使他们可以用纯JavaAPI来编写数据库使用程序。

  有了JDBC,向各类干系数据库发送SQL语句就是一件很简单的事。换言之,有了JDBCAPI,就不用为会见Sybase数据库专门写一个程序,为会见Oracle数据库又专门写一个程序,为会见Informix数据库又写另外一个程序,等等。您只需用JDBCAPI写一个程序就够了它可向响应数据库发送SQL语句。并且,利用Java编程言语编写的使用程序,就不必往忧愁要为分歧的平台编写分歧的使用程序。将Java和JDBC分离起来将使程序员只须写一遍程序便可让它在任何平台上运转。

  Java具有坚实、平安、易于利用、易于了解和可从收集上主动下载等特征,是编写数据库使用程序的出色言语。所必要的只是Java使用程序与各类分歧数据库之间举行对话的办法。而JDBC恰是作为此种用处的机制。

  JDBC扩大了Java的功效。比方,用Java和JDBCAPI能够公布含有applet的网页,而该applet利用的信息大概来自远程数据库企业也能够用JDBC经由过程Intranet将一切人员连到一个或多个外部数据库中(即便这些人员所用的盘算机有Windows、Macintosh和UNIX等各类分歧的操纵体系)。跟着愈来愈多的程序员入手下手利用Java编程言语,对从Java中便利地会见数据库的请求也在日趋增添。

  MIS办理员们都喜好Java和JDBC的分离,由于它使信息传布变得简单和经济。企业可持续利用它们安装好的数据库,并能便利地存失信息,即便这些信息是贮存在分歧数据库办理体系上。新程序的开辟期很短。安装和版本把持将年夜为简化。程序员可只编写一遍使用程序或只更新一次,然后将它放到服务器上,随前任何人就都可失掉最新版本的使用程序。关于商务上的发卖信息服务,Java和JDBC可为内部客户供应猎取信息更新的更好办法。

  2.JDBC的用处

  复杂地说,JDBC可做三件事:与数据库创建毗连、发送SQL语句并处置了局。以下代码段给出了以上三步的基础示例:


Connectioncon=DriverManager.getConnection("jdbc:odbc:wombat","login",
"password");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");
while(rs.next()){
intx=rs.getInt("a");
Strings=rs.getString("b");
floatf=rs.getFloat("c");
}

  上述代码对基于JDBC的数据库会见做了典范的总结,固然,在本大节的后续部分会对它做细致的剖析解说。

  3.JDBCAPI

  JDBC是个"初级"接口,也就是说,它用于间接挪用SQL命令。在这方面它的功效极佳,并比别的的数据库毗连API易于利用,但它同时也被计划为一种基本接口,在它之上能够创建初级接口和工具。初级接口是"对用户友爱的"接口,它利用的是一种更容易了解和更加便利的API,这类API在幕后被转换为诸如JDBC如许的初级接口。

  在干系数据库的"对象/干系"映照中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。因而,程序员可间接对Java对象举行操纵;存取数据所需的SQL挪用将在"掩饰下"主动天生。别的还可供应更庞大的映照,比方将多个表中的行分离进一个Java类中。

  跟着人们对JDBC的乐趣日趋增涨,愈来愈多的开辟职员一向在利用基于JDBC的工具,以使程序的编写加倍简单。程序员也一向在编写力争使终极用户对数据库的会见变得更加复杂的使用程序。比方使用程序可供应一个选择数据库义务的菜单。义务被选定后,使用程序将给出提醒及空缺供填写实行选定义务所需的信息。所需信息输出使用程序将主动挪用所需的SQL命令。在如许一种程序的帮忙下,即便用户基本不懂SQL的语法,也能够实行数据库义务。

  4.JDBC与ODBC和别的API的对照

  今朝,Microsoft的ODBCAPI多是利用最广的、用于会见干系数据库的编程接口。它能在几近一切平台上毗连几近一切的数据库。为何Java不利用ODBC?对这个成绩的回覆是:Java可使用ODBC,但最好是在JDBC的匡助下以JDBC-ODBC桥的情势利用,这一点我们稍后再说。如今的成绩已酿成:"为何必要JDBC"?谜底是明显的:ODBC不合适间接在Java中利用,由于它利用C言语接口。从Java挪用当地C代码在平安性、完成、坚实性和程序的主动移植性方面都有很多弱点。从ODBCCAPI到JavaAPI的字面翻译是不成取的。比方,Java没有指针,而ODBC却对指针用得很普遍(包含很简单堕落的指针"void*")。您能够将JDBC设想成被转换为面向对象接口的ODBC,而面向对象的接口对Java程序员来讲较易于吸收。

  ODBC很难学。它把复杂和初级功效混在一同,并且即便关于复杂的查询,其选项也极其庞大。相反,JDBC只管包管复杂功效的烦琐性,而同时在需要时同意利用初级功效。启用"纯Java"机制必要象JDBC如许的JavaAPI。假如利用ODBC,就必需手动地将ODBC驱动程序办理器和驱动程序安装在每台客户机上。假如完整用Java编写JDBC驱动程序则JDBC代码在一切Java平台上(从收集盘算机到年夜型机)都能够自动安装、移植并包管平安性。

  总之,JDBCAPI关于基础的SQL笼统和观点是一种天然的Java接口。它创建在ODBC上而不是从零入手下手。因而,熟习ODBC的程序员将发明JDBC很简单利用。JDBC保存了ODBC的基础计划特性;现实上,两种接口都基于X/OpenSQLCLI(挪用级接口)。它们之间最年夜的区分在于:JDBC以Java作风与长处为基本并举行优化,因而加倍易于利用。

  今朝,Microsoft又引进了ODBC以外的新API:RDO、ADO和OLEDB。这些计划在很多方面与JDBC是不异的,即它们都是面向对象的数据库接口且基于可在ODBC上完成的类。但在这些接口中,我们未瞥见有出格的功效使我们要转而选择它们来替换ODBC,特别是在ODBC驱动程序已创建起较为完美的市场的情形下。它们最多也就是在ODBC上加了一种粉饰罢了。

  5.JDBC对B/S和C/S形式的撑持

  JDBCAPI既撑持数据库会见的两层模子(C/S),同时也撑持三层模子(B/S)。在两层模子中,Javaapplet或使用程序将间接与数据库举行对话。这将必要一个JDBC驱动程序来与所会见的特定命据库办理体系举行通信。用户的SQL语句被送往数据库中,而其了局将被送回给用户。数据库能够位于另外一台盘算机上,用户经由过程收集毗连到下面。这就叫做客户机/服务器设置,个中用户的盘算机为客户机,供应数据库的盘算机为服务器。收集能够是Intranet(它可将公司人员毗连起来),也能够是Internet。

  在三层模子中,命令先是被发送到服务的"两头层",然后由它将SQL语句发送给数据库。数据库对SQL语句举行处置并将了局送回到两头层,两头层再将了局送回给用户。MIS主管们都发明三层模子很吸惹人,由于可用两头层来把持对公司数据的会见和可作的的更新的品种。两头层的另外一个优点是,用户能够使用易于利用的初级API,而两头层将把它转换为响应的初级挪用。最初,很多情形下三层布局可供应一些功能上的优点。

  到今朝为止,两头层一般都用C或C++这类言语来编写,这些言语实行速率较快。但是,跟着最优化编译器(它把Java字节代码转换为高效的特定于呆板的代码)的引进,用Java来完成两头层将变得愈来愈实践。这将是一个很年夜的前进,它令人们能够充实使用Java的诸多长处(如坚实、多线程和平安等特性)。JDBC关于从Java的两头层来会见数据库十分主要。

  6.SQL的分歧性

  布局化查询言语(SQL)是会见干系数据库的尺度言语。坚苦的地方在于:固然年夜多半的DBMS(数据库办理体系)对其基础功效都利用了尺度情势的SQL,但它们却不切合比来为更初级的功效界说的尺度SQL语法或语义。比方,并不是一切的数据库都撑持贮存程序或内部毗连,那些撑持这一功效的数据库又互相纷歧致。人们但愿SQL中真正尺度的那部分可以举行扩大以包含愈来愈多的功效。但同时JDBCAPI又必需撑持现有的SQL。

  JDBCAPI办理这个成绩的一种办法是同意将任何查询字符串一向传到所触及的DBMS驱动程序上。这意味着使用程序可使用恣意多的SQL功效,但它必需冒如许的风险:有大概在某些DBMS上堕落。现实上,使用程序查询乃至纷歧定如果SQL,大概说它能够是个为特定的DBMS计划的SQL的公用派生物(比方,文档或图像查询)。

  JDBC处置SQL分歧性成绩的第二种办法是供应ODBC作风的本义子句,这将在后续部分中会商。本义语法为几个罕见的SQL不合供应了一种尺度的JDBC语法。比方,对日期笔墨和已贮存历程的挪用都有本义语法。

  关于庞大的使用程序,JDBC用第三种办法来处置SQL的分歧性成绩它使用DatabaseMetaData接口来供应关于DBMS的形貌性信息,从而使使用程序能顺应每一个DBMS的请求和功效。

  因为JDBCAPI将用作开辟初级数据库会见工具和API的基本API,因而它还必需注重其一切下层修建的分歧性。"切合JDBC尺度TM"代表用户可依附的JDBC功效的尺度级别。要利用这一申明,驱动程序最少必需撑持ANSISQL-2EntryLevel(ANSISQL-2代表美国国度尺度局1992年所接纳的尺度。EntryLevel代表SQL功效的特定清单)。驱动程序开辟职员可用JDBCAPI所带的测试工具包来断定他们的驱动程序是不是切合这些尺度。

  "切合JDBC尺度TM"暗示供应者的JDBC完成已经由过程了JavaSoft供应的分歧性测试。这些分歧性测试将反省JDBCAPI中界说的一切类和办法是不是都存在,并尽量地反省程序是不是具有SQLEntryLevel功效。固然,这些测试其实不完整,并且JavaSoft今朝也偶然对各供应者的完成举行标级。但这类分歧性界说切实其实可对JDBC完成供应必定的可托度。跟着愈来愈多的数据库供应者、毗连供应者、Internet供应者和使用程序编程员对JDBCAPI的承受,JDBC也正敏捷成为Java数据库会见的尺度。



前些天,在CSDN上看到了一个消息,说是ASP.NETAJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-21 09:52:36 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-26 11:57:41 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
再见西城 该用户已被删除
地板
发表于 2015-1-29 14:52:36 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
小魔女 该用户已被删除
5#
发表于 2015-2-6 02:10:43 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-6 22:41:59 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
变相怪杰 该用户已被删除
7#
发表于 2015-2-8 09:30:26 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
小妖女 该用户已被删除
8#
发表于 2015-2-12 08:53:24 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
第二个灵魂 该用户已被删除
9#
发表于 2015-2-25 11:20:41 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
不帅 该用户已被删除
10#
发表于 2015-2-26 21:33:07 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
因胸联盟 该用户已被删除
11#
发表于 2015-3-6 13:28:43 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
只想知道 该用户已被删除
12#
发表于 2015-3-13 01:09:22 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
admin 该用户已被删除
13#
发表于 2015-3-14 15:55:56 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
精灵巫婆 该用户已被删除
14#
发表于 2015-3-17 21:04:37 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
分手快乐 该用户已被删除
15#
发表于 2015-3-25 02:35:35 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
灵魂腐蚀 该用户已被删除
16#
发表于 2015-4-8 10:53:04 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
小女巫 该用户已被删除
17#
发表于 2015-4-12 05:44:05 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
兰色精灵 该用户已被删除
18#
发表于 2015-4-16 13:10:30 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
若天明 该用户已被删除
19#
发表于 2015-4-20 22:46:27 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
莫相离 该用户已被删除
20#
发表于 2015-4-22 09:16:31 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 16:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表