开发者社区> jieforest> 正文

Derby数据库

简介: JDK6笔记(1)----Derby数据库 1)JDK6包含了一个轻量级的数据库,称为Derby,它属于Apache数据库项目的产品。Derby是基于事务型的关系数据库,在磁盘上占用空间极少。
+关注继续查看

JDK6笔记(1)----Derby数据库


1)JDK6包含了一个轻量级的数据库,称为Derby,它属于Apache数据库项目的产品。Derby是基于事务型的关系数据库,在磁盘上占用空间极少。
2)Derby被缺省安装到“安装目录/db”,包含了核心库,示范程序和一个数据库例子。其基本大小仅为2MB。
3)Derby数据库的管理极其简单,它加速了开发和部署的过程,因为其数据库存储是放在JAR文件中的,通过JAR包就发布了。
4)Derby随着JDK6的安装而自动安装。Derby提供了一个命令行工具称为ij,它是交互式JDBC脚本工具的缩写(interactive JDBC scripting tool)。此工具提供了一种方式连接和操纵数据库。
5)要使用Derby,必须在CLASSPATH中包含这个工具,如下:
c:/Program Files/Java/jdk1.6.0/db/derby.jar
c:/Program Files/Java/jdk1.6.0/db/derbytools.jar
在derby.jar文件中包含由JDBC驱动;在derbytools.jar中包含由ij工具。
6)在完成CLASSPATH配置后,要运行ij工具并连接数据库例子,如下:
c:/>java org.apache.derby.tools.ij
ij version 10.2
ij>connect 'jdbc:derby:c:/Program Files/Java/jdk1.6.0/db/demo/databases/toursdb';
ij>
注意:最后的分号不能省略。
7)建立新数据库,如下:
ij>disconnect;  //必须先断开已有数据库的连接
ij>connection 'jdbc:derby:MyDB;create=true';  //必须用创建参数create=true
如上,建立了名为MyDB的数据库。
8)如下的例子,建立数据库,建立表,插入数据,并且浏览它。
ij>create table zipcodes(zipcode varchar(5), city varchar(20), state varchar(2));
0 rows inserted/updated/deleted
ij>insert into zipcodes values('22030','Fairfax','VA');
1 rows inserted/updated/deleted
ij>insert into zipcodes values('22003','Annandale','VA');
1 rows inserted/updated/deleted
ij>insert into zipcodes values('90210','Beverly Hills','CA');
1 rows inserted/updated/deleted
ij>select * from zipcodes;
......
9)Derby中每个数据库的日志记录保存在其下的一个文件中,不管是否有多人对其进行操作。
10)最后以一个例子来结束本题。
用ij执行下面的语句:
connect 'jdbc:derby://localhost:1527/myDB;create=true;user=sa;password=sa';
create table restaurants(id integer, name varchar(20), city varchar(50));
insert into restaurants values (1, 'Irifunes', 'San Mateo');
insert into restaurants values (2, 'Estradas', 'Daly City');
insert into restaurants values (3, 'Prime Rib House', 'San Francisco');
产生一个myDB的数据库和表restaurants;
再用一个java应用程序实现对其的操作:
package myApp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DerbyTest {

 public static void main(String[] args) {
  DerbyTest testClient=new DerbyTest();
  testClient.showZipCodes();
 }
 public void showZipCodes(){
  try{
   String driver="org.apache.derby.jdbc.EmbeddedDriver";
   Class.forName(driver).newInstance();
   Connection conn=null;
   conn=DriverManager.getConnection

("jdbc:derby://localhost:1527/myDB;user=sa;password=sa");
   Statement s=conn.createStatement();
   ResultSet rs=s.executeQuery("SELECT * FROM restaurants");
   while(rs.next()){
    System.out.println("序号    :"+rs.getInt(1));
    System.out.println("名字    :"+rs.getString(2));
    System.out.println("城市    :"+rs.getString(3));
    System.out.println();
   }
   rs.close();
   s.close();
   conn.close();
  }catch(Exception e){
   System.out.println("Exception: "+e);
   e.printStackTrace();
  }
 }

}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19629 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14637 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18637 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
16993 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
18567 0
+关注
jieforest
原ChinaUnix博客专家,见:http://blog.chinaunix.net/uid/301743.html
712
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载