作为ORACLE服务器,如何用JAVA连接数据库

作为ORACLE服务器,如何用JAVA连接数据库,第1张

Java有很多连接数据库的方法 最常用的就是JDBC ODBC
首先你要配置DBO 数据源 在windows下面的管理有(= = 别给我说你是linux)
然后Java中用ClassforName("sunjdbcodbcJdbcOdbcDriver")加载驱动程序
调用DriverManagercreateConnection("连接字符串")方法创建连接
剩下的都是基础知识 你可以找一些书来看看

Java 语言是Sun MicroSystems 公司于 年正式命名并推出的一种面向对象的编程语言 OOP(abbr Object Oriented Programming) Sun 公司说 Java 程序设计 语言被设计成是 by programmers for programmers 其随着 Internet 的发展而广为流行 用它开发的系统 一次开发 到处运行 的特色以及程序开发设计时所体现出的面向对象的思想深深地触动着人们 它的语言简洁 集多种程序设计语言之大成 且面向对象 具有可移植性 分布性 安全性 高性能等特色 Java在向Internet/Intranet 甚至计算机世界的各个领域渗透 慢慢改变着人们的思维 而今Internet 热浪一浪高过一浪 从外部世界走向企业内部形成Intranet 促进了Java 技术的利用开发 计算机业界中的IBM ORACAL APPLE Sun Netscape五家公司还联合推出 网络计算机(NC ) 规范 抛开 Wintel 臃肿不堪的体系结构 使用户端价格低廉 易于使用 并成为能够连接网络的简单计算机 NC(Neork Computer) 即所说的 瘦客户 机 NC 支持Java 虚拟机(JVM) 能够运行Java开发的应用程序(Application)和小程序(Applet)并支持多媒体应用 NC 和Java 的结合诞生了新的时代 网络计算机时代 就连Sun的冤家对头Microsoft的比尔 盖茨也不得不承认 Java是长时间以来最卓越的程序设计语言 一 Java 数据库基础 JDBC API Java语言在数据库应用方面 特别在基于Web 的B/S结构的在线数据库应用方面的烦琐复杂配置等 并不能使用户和程序开发双方都十分满意 SunSoft虽提供了用Java语言编写成的Java与数据库的接口规范JDBC(Java DataBase Connectivity 而JavaSoft说JDBC并不代表什么) 使Java程序可以通过统一标准规范的JDBC API来与不同的数据库通信 确保了 %纯Java 的解决方案 JDBC API 定义了Java中的类和接口 表示数据库连接 SQL 指令 结果集合等 它允许Java程序员发送SQL 指令并处理结果 JDBC API 提供两种主要接口 一是面向开发人员的java sql程序包 使得Java程序员能够进行数据库连接 执行SQL查询 并得到结果集合 Java 的java sql包提供了 个类和 个接口 下文将介绍 另一是面向底层数据库厂商的JDBC Drivers 目前为止 Java 的JDBC Drivers仅提供下述四种类型的数据库驱动方式 且各有利弊 ( ) JDBC ODBC bridge plus ODBC driver 方式 JDBC ODBC 桥接方式利用微软的开放数据库互连接口(ODBC API)同数据库服务器通讯 客户端计算机首先应该安装并配置ODBC driver 和JDBC ODBC bridge两种驱动程序 这是Applets访问你的数据库最可能的解决方式 但这对Internet 和Intranet 用户而言简直是一个非常令人讨厌和麻烦的解决方案 ( ) Native API partly Java driver方式 这种驱动方式将数据库厂商的特殊协议转换成Java代码及二进制类码 使Java 数据库客户方与数据库服务器方通信 例如 Oracle用SQLNet协议 DB 用IBM 的数据库协议 数据库厂商的特殊协议也应该被安装在客户机上 这也是令人讨厌和麻烦的解决方案 ( ) JDBC Net pure Java driver方式 这种方式是纯Java driver 数据库客户以标准网络协议(如>

通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如MySQL、SQLServer、Oracle、DB2、SyBase、Informix、PostgreSQL以及比较小型的Aess等等数据库,这些数据库支持复杂的SQL *** 作和事务机制,适合小量数据读写场景;但是到了大数据时代,人们更多的数据和物联网加入的数据已经超出了关系数据库的承载范围。

大数据时代初期,随着数据请求并发量大不断增大,一般都是采用的集群同步数据的方式处理,就是将数据库分成了很多的小库,每个数据库的数据内容是不变的,都是保存了源数据库的数据副本,通过同步或者异步方式保证数据的一致性,每个库设定特定的读写方式,比如主数据库负责写 *** 作,从数据库是负责读 *** 作,等等根据业务复杂程度以此类推,将业务在物理层面上进行了分离,但是这种方式依旧存在一定的负载压力的问题,企业数据在不断的扩增中,后面就采用分库分表的方式解决,对读写负载进行分离,但是这种实现依旧存在不足,且需要不断进行数据库服务器扩容。

NoSQL数据库大致分为5种类型

1、列族数据库:BigTable、HBase、Cassandra、AmazonSimpleDB、HadoopDB等,下面简单介绍几个

(1)Cassandra:Cassandra是一个列存储数据库,支持跨数据中心的数据复制。它的数据模型提供列索引,log-structured修改,支持反规范化,实体化视图和嵌入超高速缓存。

(2)HBase:ApacheHbase源于Google的Bigtable,是一个开源、分布式、面向列存储的模型。在Hadoop和HDFS之上提供了像Bigtable一样的功能。

(3)AmazonSimpleDB:AmazonSimpleDB是一个非关系型数据存储,它卸下数据库管理的工作。开发者使用Web服务请求存储和查询数据项

(4)ApacheAumulo:ApacheAumulo的有序的、分布式键值数据存储,基于Google的BigTable设计,建立在ApacheHadoop、Zookeeper和Thrift技术之上。

(5)Hypertable:Hypertable是一个开源、可扩展的数据库,模仿Bigtable,支持分片。

(6)AzureTables:WindowsAzureTableStorageService为要求大量非结构化数据存储的应用提供NoSQL性能。表能够自动扩展到TB级别,能通过REST和ManagedAPI访问。

2、键值数据库:Redis、SimpleDB、Scalaris、Memcached等,下面简单介绍几个

(1)Riak:Riak是一个开源,分布式键值数据库,支持数据复制和容错。(2)Redis:Redis是一个开源的键值存储。支持主从式复制、事务,Pub/Sub、Lua脚本,还支持给Key添加时限。

(3)Dynamo:Dynamo是一个键值分布式数据存储。它直接由亚马逊Dynamo数据库实现;在亚马逊S3产品中使用。

(4)OracleNoSQLDatabase:来自Oracle的键值NoSQL数据库。它支持事务ACID(原子性、一致性、持久性和独立性)和JSON。

(5)OracleNoSQLDatabase:具备数据备份和分布式键值存储系统。

(6)Voldemort:具备数据备份和分布式键值存储系统。

(7)Aerospike:Aerospike数据库是一个键值存储,支持混合内存架构,通过强一致性和可调一致性保证数据的完整性。

3、文档数据库:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下面简单介绍几个

(1)MongoDB:开源、面向文档,也是当下最人气的NoSQL数据库。

(2)CounchDB:ApacheCounchDB是一个使用JSON的文档数据库,使用Javascript做MapRece查询,以及一个使用>

(3)Couchbase:NoSQL文档数据库基于JSON模型。

(4)RavenDB:RavenDB是一个基于NET语言的面向文档数据库。

(5)MarkLogic:MarkLogicNoSQL数据库用来存储基于XML和以文档为中心的信息,支持灵活的模式。

4、图数据库:Neo4J、InfoGrid、OrientDB、GraphDB,下面简单介绍几个

(1)Neo4j:Neo4j是一个图数据库;支持ACID事务(原子性、独立性、持久性和一致性)。

(2):一个图数据库用来维持和遍历对象间的关系,支持分布式数据存储。

(3):是结合使用了内存和磁盘,提供了高可扩展性,支持SPARQ、RDFS和Prolog推理。

5、内存数据网格:Hazelcast、OracleCoherence、TerracottaBigMemorry、GemFire、Infinispan、GridGain、GigaSpaces,下面简单介绍几个

(1)Hazelcast:HazelcastCE是一个开源数据分布平台,它允许开发者在数据库集群之上共享和分割数据。

(2)OracleCoherence:Oracle的内存数据网格解决方案提供了常用数据的快速访问能力,一致性支持事务处理能力和数据的动态划分。

(3)TerracottaBigMemory:来自Terracotta的分布式内存管理解决方案。这项产品包括一个Ehcache界面、Terracotta管理控制台和BigMemory-Hadoop连接器。

(4)GemFire:VmwarevFabricGemFire是一个分布式数据管理平台,也是一个分布式的数据网格平台,支持内存数据管理、复制、划分、数据识别路由和连续查询。

(5)Infinispan:Infinispan是一个基于Java的开源键值NoSQL数据存储,和分布式数据节点平台,支持事务,peer-to-peer及client/server架构。

(6)GridGain:分布式、面向对象、基于内存、SQLNoSQL键值数据库。支持ACID事务。

(7)GigaSpaces:GigaSpaces内存数据网格能够充当应用的记录系统,并支持各种各样的高速缓存场景。

工具:myeclips/netbean
服务器: tomact/glassfish/websphere
数据库:mysql/sqlserver/oracle
类库:JDK
推荐:eclips有中文包 tomcat(自带简易) mysql(免费开源) 新人练手用

java的某些项目为什么要采用分布式开发,分布式开发

在数据库应用程序的开发过程中,网络已走到社会的各个角落。从金融行业的银行联网、交通行业的售票系统、公安系统的全国户籍管理等等,这些企业或行业单位之间地理分布性或业务分布性,使得一个企业或行业拥有多个网络服务器,如何在这种分布式的网络环境下实现高效的数据库应用程序的开发是一个重要的问题。

分布式应用开发简单的说,是指将用户界面、控制台服务、数据库管理三个层次部署在不同的位置上。其中用户界面是客户端实现的功能,控制台服务是一个专门的服务器,数据管理是在一个专门的数据库服务器上实现的。

提示:这里的Web服务器,都是指软件(如IIS等Web服务器软件),它和Web服务器应用以及其它程序等,共同存在于服务器计算机上。

控制台CGI应用:是一个独立的控制台EXE。它在一个标准输入设备上接收客户端的请求信息,在标准输出设备上将结果返回给服务器。

分布式数据库系统已经成为信息处理学科的重要领域,正在迅速发展之中,原因是什么?

1、它可以解决组织机构分散而数据需要相互联系的问题。比如银行系统,总行与各分行处于不同的城市或城市中的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式的系统。

2、如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。

3、均衡负载的需要。数据的分解采用使局部应用达到最大,这使得各处理机之间的相互干扰降到最低。负载在各处理机之间分担,可以避免临界瓶颈。

4、当现有机构中已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。

5、相等规模的分布式数据库系统在出现故障的几率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此就整个系统来讲它的可靠性是比较高的。

(1)JDBC-ODBC桥加ODBC驱动程序

JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。

(2)本地API

这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。

(3)JDBC网络纯Java驱动程序

这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。

(4)本地协议纯Java驱动程序

这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。

据专家预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首方法。第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。对第(1)、(2)类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方案。第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的来下载该驱动程序)。

JDBC代表Java数据库连接,这对Java编程语言和广泛的数据库之间独立于数据库的连接标准的JavaAPI。

JDBC库包含的API为每个通常与数据库的使用相关联的任务:

使得连接到数据库

创建SQL或MySQL语句

执行SQL或MySQL的查询数据库

查看和修改结果记录从根本上说,JDBC是一种规范,它提供的接口,一套完整的,允许便携式访问底层数据库。可以用Java来写不同类型的可执行文件,如:

Java应用程序

JavaApplets

JavaServlets

JavaServerPages(JSP)

EnterpriseJavaBeans(EJBs)所有这些不同的可执行文件就可以使用JDBC驱动程序来访问数据库,并把存储的数据的优势。

JDBC提供了相同的功能,ODBC,允许Java程序包含与数据库无关的代码。

先决条件:

以前正如期进行本教程,需要具备以下两个主题内容很好的了解:

核心Java编程

SQL或MySQL数据库

JDBC架构:

JDBCAPI支持两层和三层处理模型进行数据库访问,但在一般的JDBC体系结构由两层组成:

JDBCAPI:提供了应用程序对JDBC的管理连接。

JDBCDriverAPI:支持JDBC管理到驱动器连接。JDBCAPI的使用驱动程序管理器和数据库特定的驱动程序提供透明的连接到异构数据库。

JDBC驱动程序管理器可确保正确的驱动程序来访问每个数据源。该驱动程序管理器能够支持连接到多个异构数据库的多个并发的驱动程序。

以下是结构图,它显示了驱动程序管理器方面的JDBC驱动程序和Java应用程序的位置:


常见的JDBC组件:

JDBCAPI提供了以下接口和类:

DriverManager:这个类管理数据库驱动程序的列表。内容是否符合从Java应用程序使用的通信子协议正确的数据库驱动程序的连接请求。识别JDBC在一定子协议的第一个驱动器将被用来建立数据库连接。

Driver:此接口处理与数据库服务器通信。很少直接与驱动程序对象。相反,使用DriverManager中的对象,它管理此类型的对象。它也抽象与驱动程序对象工作相关的详细信息

Connection:此接口与接触数据库的所有方法。连接对象表示通信上下文,即,与数据库中的所有的通信是通过唯一的连接对象。

Statement:可以使用这个接口创建的对象的SQL语句提交到数据库。一些派生的接口接受除执行存储过程的参数。

ResultSet:这些对象保存从数据库后,执行使用Statement对象的SQL查询中检索数据。它作为一个迭代器,让您可以通过移动它的数据。

SQLException:这个类处理发生在一个数据库应用程序的任何错误。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/12856225.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存