|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。 |
|