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();
  }
 }

}

目录
相关文章
|
存储 Java Apache
tinkerpop(2) 使用java调用tinkerpop,存储到derby数据库
1,关于tinkerpop 本文原文连接: http://blog.csdn.net/freewebsys/article/details/46470651 转载请注明出处! 之前体验了下tinkerpop的console服务。 存储数据,然后进行查询数据。 之前写的文章: http://blog.csdn.net/freewebsys/article/details
1856 0
|
Java 数据库连接 Apache
JDK6的新特性之八:嵌入式数据库Derby
Derby并不是一个新的数据库产品,它是由IBM捐献给Apache的DB项目的一个纯Java数据库,JDK6.0里面带的这个Derby的版本是10.2.1.7,支持存储过程和触发器;有两种运行模式,一种是作为嵌入式数据库,另一种是作为网络数据库,前者的数据库服务器和客户端都在同一个JVM里面运行,后者允许数据库服务器端和客户端不在同一个JVM里面,而且允许这两者在不同的物理机器上.值得注意
1231 0
|
Java 数据库连接 数据库
Derby数据库
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1523954 Derby数据库  JDK6笔记(1)----Derby数据库 1)JDK6包含了一个轻量级的数据库,称为Derby,它属于Apache数据库项目的产品。
988 0
|
3天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
13 3
|
3天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
19 3
|
3天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
22 2
|
17天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
117 15