Apache Derby是一个开源的 % Java编写的 与平台无关的 易管理的关系数据库管理系统 Derby为用户提供了轻量的标准数据库引擎 它可以紧密的嵌入到任何基于Java的解决方案中 Derby确保数据完整性 并提供负责的事务处理 *** 作 默认的配置中不包含任何独立的数据库服务器 同时 Derby 的安装过程非常简单 只需要将其 jar 文件复制到系统中并为您的项目添加该 jar 文件即可
Derby拥有一个令人惊奇的特性列表 它可以支持关系数据库中的所有企业级的特性 包括崩溃恢复 事务回滚和提交 行/表级锁 视图 主键/外键约束 触发器 子查询表达式 等等 一部分的列表特性使Derby从其他的Java 关系数据库管理系统中分离出来
Derby可以有两种部署方式
嵌入式 Derby被单个用户的Java应用程序使用 在这种模式下 Derby和应用程序运行在同一个JVM中 Derby对于终端用户几乎是透明的 因为它的启动和终止都是由应用程序来控制 而不需要任何的管理
服务器模式 Derby由应用程序启动 此时通过用户可以通过网络连接 在这种模式下 Derby运行在服务器主机的JVM中 其他JVM的应用程序通过连接服务器来访问数据库
在MyEclipse里默认已经集成了Derby数据库 启动Derby只需点击MyEclipse Derby的Start即可 如下图所示
切换到Database视图 右键选择 new 配置数据库连接 如下图所示
其中Driver name自定义 test是当前要新建的数据库名称 Username和Password随便填 而Jar包在MyEclipse 安装目录
\myeclipse\eclipse\plugins\ genuitec eclipse derby_ zmyeclipse \lib下
配置好后右键选择 Open Connection 进行连接 连接上后右键 connected to MyEclipse Derby 选择 New Sql Editor 然后就可以使用SQL命令进行建表 *** 作了
lishixinzhi/Article/program/SQL/201311/163991,下载并安装Derby:
下载地址:http://db.apache.org/derby /derby_downloads.html,下载最新版本。
我用的是10.5.3.0。
解压缩到任意文件夹,我的是:E:\Java\Joy\derby
2,配置环境变量:
建立DERBY_HOME,值:E:\Java\Joy\derby\db- derby-10.5.3.0-bin\db-derby-10.5.3.0-bin
在Path加入:%DERBY_HOME%\bin
在CLASSPATH加入:%DERBY_HOME%\lib \derby.jar%DERBY_HOME%\lib\derbyclient.jar%DERBY_HOME%\lib\derbytools.jar%DERBY_HOME%\lib\derbynet.jar
3,测试看看Derby安装成功没有
开始—Run—CMD
运行 sysinfo
如果安装成功,将会看到相关信息,下面是截取的部分信息。
——— Derby 信息 ——–
JRE – JDBC: Java SE 6 – JDBC 4.0
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derby.jar] 10
.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbytools.ja
r] 10.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbynet.jar]
10.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbyclient.j
ar] 10.5.3.0 – (802917)
4,创建和使用数据库
打开命令行,进入想要放置数据库的目录,我的是:E:\Java\Joy \derby\Derby_data
然后输入ij
将会看到:
ij 版本 10.5
ij>
接下来就可以创建数据库了。
例:
创建firstdb数据库:
ij>connect ‘jdbc:derby:firstdbcreate=true’
连接firstdb数据库:
ij>connect ‘jdbc:derby:firstdb’
查询数据库等 *** 作,只需要输入相应的Sql语句即可。
创建一个table:
create table firsttable(id int primary key, name varchar(20))
插入数据:
insert into firsttable values(1, ‘Hotpepper’)
在命令行测试一下:
select * from firsttable
结果如下:
ID |NAME
——————————–
1 |Hotpepper
其它命令
断开连接:
ij>disconnect
退出ij:
ij>exit
5,在Java程序中使用Derby
首先要把相关的Derby jar包加进来(Build Path)。
把derby.jar加进来,如果没有加进来会出现 “java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver”错误
好了,下面写JAVA代码进行测试:
import java.sql.Connection
import java.sql.DriverManager
import java.sql.ResultSet
import java.sql.SQLException
import java.sql.Statement
public class Test {
private static String driver = “org.apache.derby.jdbc.EmbeddedDriver”
private static String protocol = “jdbc:derby:”
String dbName = “E:\\Java\\Joy\\derby\\Derby_data\\firstdb”
static void loadDriver() {
try {
Class.forName(driver).newInstance()
System.out.println(“Loaded the appropriate driver”)
} catch (Exception e) {
e.printStackTrace()
}
}
public void doIt() {
Connection conn = null
Statement s = null
ResultSet rs = null
System.out.println(“starting”)
try {
conn = DriverManager.getConnection(protocol + dbName
+ “create=true”)
} catch (SQLException e) {
e.printStackTrace()
}
System.out.println(“Connected to and created database ” + dbName)
try {
s=conn.createStatement()
rs=s.executeQuery(“select * from firsttable”)
while (rs.next()) {
System.out.println(rs.getInt(1))
System.out.println(rs.getString(2))
}
} catch (SQLException e1) {
e1.printStackTrace()
}
try {
conn.close()
conn = null
s.close()
s = null
rs.close()
rs = null
} catch (Exception e) {
e.printStackTrace()
}
}
public static void main(String[] args) {
Test t = new Test()
t.loadDriver()
t.doIt()
}
}
OK,完成了。
—————————————————-
附:复制粘贴Derby数据库:
备份Derby数据库(derby-10.5.3.0)
小试了一下,很简单的,就复制粘贴就好了。
找到想要复制的数据库文件夹,比如:
C:\Program Files\SQuirreL SQL Client\firstdb
我们就把整个firstdb文件夹复制下来,然后粘贴到想要粘贴的地方。
就那么简单。
以上是我突发奇想试试看,没想到就成了。在网上搜了一下,貌似derby备份的方法不是这样的,而这种方法莫非是传说中的“热备份”?
6,在DbVisualizer中使用Derby
选择Database时选择到数据库的目录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)