原文链接:http://axhtszcx.blog.163.com/blog/static/56679539200811206255813/
(本文转自http://blog.sina.com.cn/s/blog_57f82e3d010007rh.html)
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会被安装 到<JDK6_HOME>/db下面,在<JDK6_HOME>/db/demo/programs下面还有一些示例程序,演示 了如何启动,连接Derby数据库以及JDBC API的使用.下面分两种情况演示一下如何用代码操作Derby数据库,一种是嵌入式数据库,一种是网络数据库.
一.嵌入式数据库
/**
* @author chinajash
*/
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 (1,'chinajash')");//插入一条数据
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();
}
}
}
运行上面程序后,会在当前目录生成名为EmbeddedDB的文件夹,既是EmbeddedDB数据库的数据文件存放的地方,控制台将输出
id=1;name=chinajash
二.网络数据库
/**
* @author chinajash
*/
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,也可以通过运行
<Derby_Home>\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);
DriverManager.getConnection(connectionURL);
//do something
derbyServer.shutdown();//关闭Derby服务器
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
运行上面程序后,会在当前目录生成名为NetworkDB的文件夹
如果你安装了MyEclipse6.0的话,就自带的安装了Derby数据库。如果你觉得其他数据太大的话,完全可以使用这个数据库,操作也非常简单。
首先你必须先启动Derby数据库:
可以通过Server面板启动即可,也可以在MyEclipseDatabaseExplorer中直接打开连接启动 。
默认的用户名为:classiccars 密码为:classiccars
在C:\Documents and Settings\Admin\.myeclipse\libs\derby_10.2.2.0\derbyclient.jar(这个地址可能你和我不 一样,Admin这里你可以换成你自己的名字,不知道的话,自己在上级目录找一下)有数据库的jar驱动
完全可以通过MyEclipseDatabaseExplorer操作,SQL语句与Oracle很像。自己实验一下就能搞定了。
关于Derby的详细情况,请参考http://db.apache.org/derby
相关推荐
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
2024嵌入式大厂面经50套大厂高频面试题资料
eclipaint-eclipse插件
该TemplateAppProject是一个基于XUI、XUtil、XAOP等框架构建的Android模版空壳工程,包含172个文件,涵盖68个Java源文件、64个XML配置文件、17个PNG图片文件、6个Gradle脚本文件、2个YAML配置文件、2个Git忽略文件、2个文本文件和1个Markdown文件。该工程集成了XPage、XUpdate和XHttp2等功能,旨在快速搭建Android应用开发环境。
IEA乌克兰的能源安全和即将到来的冬天-乌克兰及其合作伙伴的能源行动计划(英).pdf
UC-GUI文档uCGUI中文手册UC-GUI文档uCGUI中文手册
微信小程序反编译_ xapkg解包器
微信小程序婚礼邀请函_婚礼邀请函
该项目是一款基于Html和TypeScript构建的2B2C礼品购买平台源码,包含958个文件,涵盖196个TypeScript文件、145个Java文件、119个JPG图片、118个CSS文件、85个JavaScript文件、54个HTML文件、47个类文件、44个XML文件、26个PNG图片、23个Vue组件。该平台采用现代化前端技术,旨在提供一个流畅的礼品选购体验。
Fedora-Workstation-Live-x86_64-40-1.14.iso.008
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
Fedora-Workstation-Live-x86_64-40-1.14.iso.002
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
【作品名称】:基于Matlab的单水箱液位的模糊控制系统设计【含课程设计报告+程序】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 控制⽬标 控制⽬标:倒锥形容器的液位⾼度h=h0 检测装置:通过测量容器底部压⼒来间接测量液位 执⾏机构:控制进⽔电磁阀V1的开启度开启度 u ∈ [0, 90 ∘ ] 受控对象:模糊控制器最终影响倒锥形容器内的⽔量,所以受控对象是倒锥形容器 为简单起⻅,假设电磁阀V1的开启度与进⽔量间呈线性关系。所以控制进⽔量Qi实际上就是控制 电磁阀V1的开启度u。 因此对于整个系统⽽⾔,模糊控制器最终控制的是电磁阀V1的开启度u,从⽽控制倒锥形容器内 的⽔量。 注意:模糊控制器受控对象是倒锥形容器,其液位⾼度h和进⽔量Qi间的关系不是线性关系 电磁阀V2的开度固定,但出⽔量Qo与倒锥形容器的液位⾼ 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。
包含RMI服务所需的内容和测试使用的攻击FastJson1反序列化漏洞的Java文件
Wanandroid微信小程序w_x-Wanandroid
Fedora-Workstation-Live-x86_64-40-1.14.iso.005
全国大学生电子设计大赛项目合集全国电赛优秀作品STM32项目基于stm32和mpu9250的usbhid键盘,鼠标,游戏控制器
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
AutoLine是一个基于Python的通用自动化测试开源平台,包含了657个文件,涵盖228个PNG图片、209个CSS样式、95个JavaScript脚本、39个Python源代码、21个HTML文件、19个XML文件、14个GIF图片、6个DS_Store文件、5个文本文件、4个Markdown文件。该平台的设计源码由多种编程语言编写,旨在提供灵活高效的自动化测试解决方案。