java derby 例子_derby 例子(转载)

2008年4月10日  edited by dingdangxiaoma

转载别人的写的例子:http://blog.csdn.net/Chinajash/archive/2007/01/08/1477568.aspx

Derby并不是一个新的数据库产品,它是由IBM捐献给Apache的DB项目的一个纯Java数据库,JDK6.0里面带的这个Derby的版

本是10.2.1.7,支持存储过程和触发器;有两种运行模式,一种是作为嵌入式数据库,另一种是作为网络数据库,前者的数据库服务器和客户端都在同一个

JVM里面运行,后者允许数据库服务器端和客户端不在同一个JVM里面,而且允许这两者在不同的物理机器上.值得注意的是JDK6里面的这个Derby支

持JDK6的新特性JDBC 4.0规范(JSR 221),现在我们如果要练习JDBC的用法,没有必要单独装一个数据库产品了,直接用Derby就行.安装完JDK6.0后,Derby会被安装到/db下面,在/db/demo/programs下面还有一些示例程序,演示了如何启动,连接Derby数据库以及JDBC API的使用.下面分两种情况演示一下如何用代码操作Derby数据库,一种是嵌入式数据库,一种是网络数据库.

一.嵌入式数据库

package db;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class EmbeddedDerbyTester {

public static void main(String[] args) {

String driver = "org.apache.derby.jdbc.EmbeddedDriver";// 在derby.jar里面

String dbName = "EmbeddedDB";

String dbURL = "jdbc:derby:" + dbName + ";create=true";// create=true表示当数据库不存在时就创建它

try {

Class.forName(driver);

Connection conn = DriverManager.getConnection(dbURL);// 启动嵌入式数据库

Statement st = conn.createStatement();

//    st.execute("create table foo (FOOID INT NOT NULL,FOONAME VARCHAR(30) NOT NULL)");// 创建foo表

st.executeUpdate("insert into foo(FOOID,FOONAME) values (2,'chinajash2')");// 插入一条数据

ResultSet rs = st.executeQuery("select * from foo");// 读取刚插入的数据

while (rs.next()) {

int id = rs.getInt(1);

String name = rs.getString(2);

System.out.println("id=" + id + ";name=" + name);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

二.网络数据库

package db;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import org.apache.derby.drda.NetworkServerControl;

public class NetworkServerDerbyTester {

public static void main(String[] args) {

String driver = "org.apache.derby.jdbc.ClientDriver";// 在derbyclient.jar里面

String dbName = "NetworkDB";

String connectionURL = "jdbc:derby://localhost:1527/" + dbName

+ ";create=true";

try {

/*

* 创建Derby网络服务器,默认端口是1527,也可以通过运行

* "frameworks"NetworkServer"bin"startNetworkServer.bat

* 来创建并启动Derby网络服务器,如果是Unix,用startNetworkServer.ksh

*/

NetworkServerControl derbyServer = new NetworkServerControl();// NetworkServerControl类在derbynet.jar里面

PrintWriter pw = new PrintWriter(System.out);// 用系统输出作为Derby数据库的输出

derbyServer.start(pw);// 启动Derby服务器

Class.forName(driver);

Connection conn = DriverManager.getConnection(connectionURL);

// do something

Statement st = conn.createStatement();

//st.execute("create table foo (FOOID INT NOT NULL,FOONAME VARCHAR(30) NOT NULL)");// 创建foo表

st.executeUpdate("insert into foo(FOOID,FOONAME) values (2,'chinajash2')");// 插入一条数据

ResultSet rs = st.executeQuery("select * from foo");// 读取刚插入的数据

while (rs.next()) {

int id = rs.getInt(1);

String name = rs.getString(2);

System.out.println("id=" + id + ";name=" + name);

}

derbyServer.shutdown();// 关闭Derby服务器

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

例子都是一样子的,稍有改动。

posted on 2008-04-10 15:48 叮当小马 阅读(475) 评论(1)  编辑  收藏 所属分类: DataBase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值