ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:59.95KB ,
资源ID:7113745      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7113745.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(derby数据库详解Word格式.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

derby数据库详解Word格式.docx

1、广泛而深入的特性列表 Derby的生动逼真的抚育使得它拥有一个令人惊奇的特性列表。有许多简单的高级特性不能被其他开源Java数据库利用。一部分的列表特性使Derby从其他的Java 关系数据库管理系统中分离出来,包括:l 100% Java实现 100% Java类型4 JDBC驱动 SQL92E标准支持大部分SQL 99特性 ACID完全的事务独立的事务支持 J2EE支持JNDI,连接池和XA 视图,临时表和保存 BLOB和CLOB数据类型 行和表锁定 有价值的基本查询优化 服务器端指示约束 触发器和存储过程 为服务器端函数,触发器或存储过程等操作在数据库里存储Java代码 能排除CD-RO

2、M里的只读数据库 数据的导入和导出 快速数据库加密选项 在代码例子中,你将谈究使用指示约束,存储过程和在数据库中存储Java代码。两种灵活的使用模式 Derby可以工作在嵌入式模式下,或在完全的客户端/服务器模式下。插图1说明在嵌入式模式下的工作原理。插图1:嵌入式模式 在插图1里,你可以看到Derby引擎是嵌入在你的应用程序里的。当工作在嵌入式模式,你的应用程序访问数据库是直接和专有的。这就意味着其他应用程序不可能在同一时间访问该数据库。嵌入式模式的主要优点是不需要进行网络和服务器设置。因为你的应用程序包含了Derby引擎,使用者并不知道你使用了一个关系数据库。 当使用Derby的嵌入式模式

3、时,并没有复杂的配置和特殊的API需要你去学习。实际上,你仅仅需要做:1. 确保Derby JARs文件在你的应用程序classpath里 2. 使用嵌入式JDBC驱动 3. 写数据库访问代码到JDBC 这是正确的,Derby根本没有特殊的APIs。只需要为你的应用程序编码到JDBC,然后Derby会为你工作得很好。事实上,如果你已经有了JDBC代码,而想把代码转换到Derby嵌入式模式下运行是十分容易的。如果你使用过ORACLE,DB2,SQL Server或MySQL,你应该对网络模式(客户端/服务器模式)的工作原理相当熟悉。插图2说明了这个模型的工作原理 插图2:客户端/服务器模式 在插

4、图2中,一个独立的Java进程运行作为Derby的网络服务器,通过网络监听客户端的连接。该Derby网络服务器能唯一的访问数据库存储器,并能同时接受多个客户端连接。这就允许多个用户在同一时间通过网络方式访问该关系数据库管理系统。当不适合使用嵌入式模式进行操作时(例如:你必须运行和管理个别的服务器进程,或许在不同的机器上),当你需要多用户访问数据库时,Derby的客户端-服务器模式能提供一个有效的解决方案。在插图2中,注意客户端应用程序编码到JDBC。这些不是Derby特有的APIs。事实上,这个类似于插图1里的运行在嵌入式下JDBC应用程序运行在客户端-服务器模式的最低配置下。配置Derby数

5、据库 为了完全体会Derby设置和使用的好处,你需要自己亲身体验它。首先,下载和安装Derby。然后,确保你的classpath环境变量包含:derby_installation_directorylibderby.jar;和derby_installation_directorylibderbytools.jar;你也可以编辑提供给你的sp.bat文件,设置你的Derby安装目录,然后运行设置你的classpath。一旦你设置好了classpath,就修改工作目录。数据库将被创建在这个目录里面。从dbcreatedb目录复制createdb.sql文件到工作目录。然后,启动命令行界面(执行i

6、j)进入Derby:java org.apache.derby.tools.ij 你也可以使用在batch子目录下提供的ij.bat,在使用前一定要编辑该批处理文件,添加你的Derby安装目录路径。这样才能进入正确的命令行,使用嵌入式Derby引擎。你看到的提示将与下面的类似:ij version 10.0 ij 你可以输入“help”;来查看可以使用的命令。要创建数据库和表来使用,仅仅需要运行createdb.sql文件。使用ij命令:run createdb.sql; run命令将调用一个脚本文件并执行它里面的Derby命令,类似于Windows的批处理文件。下面显示的是createdb.

7、sql文件的内容。connect jdbc:derby:vsjdb;create=true;drop table orders;drop table custs;create table custs (id char (5) not null, name char(40) not null, primary key(id);create table orders (id char(8) not null, custid char(5) not null, total integer, primary key(id,custid);insert into custs values ( 1, Jo

8、hn Smith);2Mary Toddinsert into orders values( 0001, 39999);0002, 2999);0003, 1904);0004, 3232);0005, 109900);在每一行都需要一个分号,这与命令行输入命令是一样的。脚本的第一行是连接命令,指明连接的嵌入式Derby驱动名字。在脚本里的连接命令为: jdbc:create=true; 使用jdbc:derby说明Derby驱动是使用的JDBC协议,而vsjdb是一个数据库的名字,它能通过嵌入式驱动创建和访问。create=true属性说明如果该数据库不存在时,就创建该数据库。 该creat

9、edb.sql脚本将创建一个名为vsjdb(当它不存在时)的数据库,并在该数据库中创建custs和orders表。它将在表中添加两个用户和五个定单。如果你使用过其他数据库的SQL语句,你应该相当熟悉在脚本里的SQL语句。 你可以查看你的工作目录,现在你将看到一个vsjdb子目录。数据将保存在里面。数据库可以很简单的的进行备份,就是复制这个子目录。表格1和表格2是custs和orders表的信息 Table 1: The custs table Field Name Data Type Note Id char(5) primary key Name char(40) Table 2: The

10、orders table char(8) primary key (compound) Custid Total int 与关系数据库管理系统数据操作 要查看顾客记录信息,在ij提示行后使用SQL SELECT语句:select * from custs;要查看定单,使用下面的命令:select * from orders;要删除顾客,尝试使用下面的命令:delete from custs where id=1;你可以选择custs表里的某一行,并能查看到哪个用户被删除。要删除与这个用户相关联的定单信息,使用下面的命令:delete from orders where custid=1;你现在

11、可以查看orders表,并能看见所有关于一号顾客的定单都被删除了。在你离开ij前,删除数据库里的所有记录:delete from custs;delete from orders;着它将是一个空数据库,在下一部分,将写入自定义的Java代码。使用exit命令离开ij:exit;自从连接URL指定了嵌入式驱动,只有ij能唯一的访问这个数据库。嵌入Derby到你的Java应用程序中 时间加速我们的Java编译和编写某些代码。这些代码将放入Derby做一个小测试,给你一个关系数据库管理系统能处理现实世界大量数据能力的信心。 下面是名为FillTable.java的代码,将创建1000个用户,每个用户

12、有10条定单-总共10000条定单。在嵌入子目录下你可以找到FillTable.java的源代码。import java.sql.*;public class TableFiller Connection conn = null; PreparedStatement insertCust = null; PreparedStatement insertOrder 上面的申明是标准的JDBC申明。conn控制JDBC连接。insertCust和insertOrder将分别处理插入记录到custs和orders表里的SQL语句。PreparedStatement的使用使关系数据库管理系统得到优化的

13、可能。 其次,下面的代码,driverName包含我们装载和使用的JDBC驱动器的类名。这是一个嵌入式驱动器。连接的URL是url值。你可以看见是使用的绝对路径定位这个数据库(注意:你必须要使用正斜线来分离路径)。如果你总是在你的工作目录运行这个程序的话,你可以仅使用”jdbc:vsjdb”。也可以可以设置derby.system.home属性来改变Derby数据库文件的位置(例如:java -D derby.system.home=c:mydbdir org.apche.derby.tools.ij)。String driverName = org.apache.derby.jdbc.Emb

14、eddedDriverString url = c:/derby1021/vsjdb loadDrivers()方法装载JDBC驱动类并创建获得一个Derby的JDBC连接。并准备两个插入语句。public void loadDrivers() throws SQLException, ClassNotFoundException Class.forName(driverName); conn = DriverManager.getConnection( url); insertCust = conn.prepareStatement( INSERT INTO custs VALUES( ?,

15、 ?) insertOrder = conn.prepareStatement( INSERT INTO orders VALUES( TableFiller的main()方法创建一个TableFiller的实例,并调用它的addCustomer()方法去创建1000个用户。它也调用addOrder()方法去创建10000条定单信息。为了显示进度,它打印顾客编号和.到系统输出中。public static void main(String args) throws Exception TableFiller tf = new TableFiller(); tf.loadDrivers(); i

16、nt orderNum = 1; for (int i=1; i1001; i ) String custNum = i; tf.addCustomer( custNum, customer # i); System.out.print(n custNum); for (int j=1; j11; j ) tf.addOrder( orderNum, custNum, j * 99); orderNum ;. tf.closeAll();addCustomer()方法获得参数并执行insertCust的预编译语句。public void addCustomer( String id, Stri

17、ng custname) throws SQLException insertCust.setString(1, id); insertCust.setString(2, custname); insertCust.executeUpdate();addOrder()方法获得参数并执行insertOrder的预编译语句。public void addOrder(String id, String custid, int total) insertOrder.setString(1, id); insertOrder.setString(2, custid); insertOrder.setIn

18、t(3, total); insertOrder.executeUpdate();closeAll()整理和关闭两个预编译语句和JDBC连接,通知Derby释放被控制的资源。public void closeAll() insertCust.close(); insertOrder.close(); conn.close(); 当顾客和定单被创建,程序将打印顾客编号到屏幕上。编号从1到1000表明每个顾客被创建。而打印的每个.则表明定单被创建。 要编译这个代码,你仅仅需要确信你已经设置了classpath,并且使用标准的Java编译命令:java TableFiller.java 你要确保没有

19、ij或其他Derby会话在运行。在嵌入式模式你需要唯一的访问数据库。在编译成功后,需要复制TableFiller.class文件到你的工作目录下,然后从那里运行TableFiller:java TableFiller 你应该看见打印出来的状态和写入数据库的记录。检验被创建的记录 现在,去看看你创建的顾客和定单信息,确保你在工作目录并再次登录到ij。连接vsjdb数据库。connect jdbc:vsjdb;然后使用下面的SELECT语句查看所有1000条顾客信息。同样的使用下面的SELECT语句查看所有10000条定单信息。当然,使用类似于FillTable.java里的标准JDBC代码,你可以整合Derby的关系数据库的访问功能到你的任何一个工程中。当你的项目需要一个嵌入式数据库时,有能力简单和快速处理产生大量的数据的Derby是你最好的选择。Derby的自由Apache许可允许你绑定它到你的程序上,即使你决定把你的产品进行商业买卖。探索Derby的高级特性 由于Derby是从IBM中分离出来的,Derby有许多高级功能-具有代表性的仅仅建立在高端的关系数据库管理系统中。插图3展现了几个有趣的特性。插图3:Derby的数据

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2