Derby数据库的安装和使用

Derby数据库介绍:
Derby并不是一个新的数据库产品,它是由IBM捐献给Apache的DB项目的一个纯Java数据库,JDK6.0里面带的这个Derby的版本是10.2.1.7,支持存储过程和触发器;有两种运行模式,一种是作为嵌入式数据库,另一种是作为网络数据库,前者的数据库服务器和客户端都在同一个JVM里面运行,后者允许数据库服务器端和客户端不在同一个JVM里面,而且允许这两者在不同的物理机器上.值得注意的是JDK6里面的这个Derby支持JDK6的新特性JDBC 4.0规范(JSR 221),现在我们如果要练习JDBC的用法,没有必要单独装一个数据库产品了,直接用Derby就行.

Derby官方网址:http://db.apache.org/derby/

下载Eclipse的Derby插件:derby_core_plugin、derby_ui_plugin

下面是个使用derby的简单例子:
1.为项目增加Derby插件支持,选择Add Apache Derby nature

2.启动derby数据库服务器。启动derby数据库客户端ij。
通过ij创建并连接到服务器端:
[img]http://dl.iteye.com/upload/attachment/187417/2a7d5858-ac40-383f-b555-b221fe7127db.jpg[/img]

3.代码实例

public class DerbyBaiscTest {
public static void main(String[] args) {
try {
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();// 加载驱动
Connection conn = DriverManager.getConnection("jdbc:derby:userDB;create=true;user=test;password=test");// 连接数据库
Statement st = conn.createStatement();
st.execute("create table USERS(ID BIGINT not null generated by default as identity, USERNAME VARCHAR(50) not null, PASSWORD VARCHAR(50), constraint P_KEY_1 primary key (ID))");// 建表
st.executeUpdate("insert into USERS(USERNAME, PASSWORD) values ('admin', 'admin')");// 插入数据
ResultSet rs = st.executeQuery("select * from USERS");// 读取数据
conn.commit();
while(rs.next()){
System.out.println("ID=" + rs.getInt(1));
System.out.println("USERNAME=" + rs.getString(2));
System.out.println("PASSWORD=" + rs.getString(3));
}
} catch(Exception e){
e.printStackTrace();
}
}
}


[color=red]
连接到名为userDB的数据库
地址为:localhost:1527
create=true,如果不存在这个数据库,就在服务器端创建
username=test;password=test,如果是新建数据库将新建用户和密码
[/color]

4.Derby的SQL脚本:create.sql,内容:
create table USERS(
ID BIGINT not null generated by default as identity,
USERNAME VARCHAR(50) not null,
PASSWORD VARCHAR(50),
constraint P_KEY_1 primary key (ID));
执行脚本的命令:
run 'create.sql';
[color=red]
创建了 USERS表,包括ID,USER_NAME,PASSWORD三个列,其中ID是主键,其中generated by default as identity 的作用类似sequence,identity是定义自动加一的列,
GENERATED BY ALWAYS AS IDENTITY
GENERATED BY DEFAULT AS IDENTITY
By always和by default是说明生成这个IDENTITY的方式。
By always是完全由系统自动生成。
by default是可以由用户来指定一个值。
[/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值