论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
Derby 数据库介绍(1)--简介
Derby 数据库介绍(1)--简介
三尺非寒
金牌会员
|
2024-12-15 18:49:41
|
显示全部楼层
|
阅读模式
楼主
主题
894
|
帖子
894
|
积分
2682
Apache Derby 是 Apache DB 的一个子项目,是一个完全用 Java 实现的开源关系数据库,采用 Apache License 2.0 许可;本文重要介绍其基本概念及安装。
1、Derby 特点
Derby 体积小——底子引擎和嵌入式 JDBC 驱动程序约 3.5MB。
Derby 基于 Java、JDBC 和 SQL 标准。
Derby 提供嵌入式 JDBC 驱动程序,可以将 Derby 嵌入到任何基于 Java 的解决方案中。
Derby 还支持更常见的客户端/服务器模式,通过 Derby 网络客户端 JDBC 驱动程序和 Derby 网络服务器来实现。
Derby 安装、部署和利用都很简单。
2、数据库类型
2.1.1、内存数据库
数据库的全部数据都保存在内存中,服务关闭数据丢失。
2.1.2、文件数据库
数据库数据库数据以文件的方式保存在磁盘上。
2.1.3、资源数据库
数据库数据存放在 jar 文件中,此类数据库都是只读的。
3、部署模式
3.1、嵌入模式
嵌入模式通过一个简单的单用户 Java 应用程序启动 Derby。在此模式下,Derby 与应用程序运行在同一个 Java 假造机(JVM)中。由于 Derby 由应用程序启动和停止,因此对终极用户险些是不可见的,而且通常不需要管理。
JDBC 连接 Derby 根据不同的数据库类型有不同的写法。
3.1.1、内存数据库
jdbc:derby:memory:myDb
复制代码
3.1.2、文件数据库
jdbc:derby:myDb
复制代码
该方式会在当前目录下生成 Derby 的数据文件;还可以指定绝对目录,数据库文件将在目的目录下生成:
jdbc:derby:d:/temp/myDb
复制代码
3.1.3、资源数据库
假设数据库 myDb 被打成 jar 文件 my.jar(jar cvf my.jar myDb),则访问该 jar 文件中的数据库有两种方式:
A、该 jar 文件已在 classpath 中
jdbc:derby:classpath:myDb
复制代码
B、该 jar 文件不在 classpath 中
jdbc:derby:jar:(d:/temp/my.jar)myDb
复制代码
3.2、服务器模式
服务器模式通过一个提供多用户连接的应用程序启动 Derby,以便通过网络访问 Derby 数据库。在此模式下,Derby 在托管服务器的 Java 假造机(JVM)中运行。应用程序从不同的 JVM 连接到 Derby 服务器以访问数据库。
JDBC 连接 Derby 根据不同的数据库类型有不同的写法。
3.2.1、内存数据库
jdbc:derby://localhost:1527/memory:myDb
复制代码
3.2.2、文件数据库
jdbc:derby://localhost:1527/myDb
复制代码
该方式会在 Derby 服务端当前目录下生成 Derby 的数据文件;还可以指定绝对目录,数据库文件将在目的目录下生成:
jdbc:derby://localhost:1527/d:/temp/myDb
复制代码
3.2.3、资源数据库
A、数据库 jar 文件已在 Derby 服务的 classpath 中
jdbc:derby://localhost:1527/classpath:myDb
复制代码
B、数据库 jar 文件不在 Derby 服务的 classpath 中
jdbc:derby://localhost:1527/jar:(d:/temp/my.jar)myDb
复制代码
3.3、混合模式
可以在应用中通过 Java 代码来启动 HSQLDB 的服务,这样本地和长途就都可以访问数据库了。
NetworkServerControl server = new NetworkServerControl(InetAddress.getByName("0.0.0.0"), 1527);
server.start (null);
复制代码
4、部署
4.1、嵌入和混合模式
引入相关依赖即可:
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.14.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.14.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbynet</artifactId>
<version>10.14.2.0</version>
</dependency>
复制代码
4.2、服务器模式
官网(https://db.apache.org/derby/derby_downloads.html)下载部署包然后解压即可,这里下载 10.14.2.0 版本。解压后的部署包包罗多个子目录:
demo 包罗演示程序。
bin 包罗执行工具和设置环境的脚本。
javadoc 包罗从源代码注释生成的 API 文档。
docs 包罗 Derby 文档。
lib 包罗 Derby 的 jar 文件。
test 包罗 Derby 的回归测试。
部署包中包罗了一些有用的工具(命令),这些工具都快通过 /h 参数检察具体用法。
4.2.1、sysinfo
sysinfo 工具表现有关 Java 环境和 Derby 版本的信息。
D:\temp\db-derby-10.14.2.0-bin\bin>sysinfo.bat
复制代码
4.2.2、ij
ij 工具是一个 JDBC 工具,你可以用它来运行脚本或对 Derby 数据库执行交互式查询。
D:\temp\db-derby-10.14.2.0-bin\bin>ij.bat
ij 版本 10.14
ij> connect 'jdbc:derby:myDb;create=true';
ij> show tables;
TABLE_SCHEM |TABLE_NAME |REMARKS
------------------------------------------------------------------------
SYS |SYSALIASES |
SYS |SYSCHECKS |
SYS |SYSCOLPERMS |
SYS |SYSCOLUMNS |
SYS |SYSCONGLOMERATES |
SYS |SYSCONSTRAINTS |
SYS |SYSDEPENDS |
SYS |SYSFILES |
SYS |SYSFOREIGNKEYS |
SYS |SYSKEYS |
SYS |SYSPERMS |
SYS |SYSROLES |
SYS |SYSROUTINEPERMS |
SYS |SYSSCHEMAS |
SYS |SYSSEQUENCES |
SYS |SYSSTATEMENTS |
SYS |SYSSTATISTICS |
SYS |SYSTABLEPERMS |
SYS |SYSTABLES |
SYS |SYSTRIGGERS |
SYS |SYSUSERS |
SYS |SYSVIEWS |
SYSIBM |SYSDUMMY1 |
已选择 23 行
ij> select * from sys.systables;
复制代码
4.2.3、dblook
dblook 是一个 DDL 生成工具,可以将数据库的全部或部门 DDL 转储到控制台或文件中。
D:\temp\db-derby-10.14.2.0-bin\bin>dblook.bat -d 'jdbc:derby:d:/temp/myDb' -o d:/temp/myDb.sql
复制代码
4.2.4、NetworkServerControl
NetworkServerControl 可以用来启动或关闭 Derby 服务。
A、启动 Derby 服务
D:\temp\db-derby-10.14.2.0-bin\bin>NetworkServerControl.bat start -p 1527 -noSecurityManager
Fri Aug 23 11:26:23 CST 2024 : Apache Derby 网络服务器 - 10.14.2.0 - (1828579) 已启动并准备接受端口 1527 上的连接
复制代码
B、关闭 Derby 服务
D:\temp\db-derby-10.14.2.0-bin\bin>NetworkServerControl.bat shutdown -p 1527
Fri Aug 23 11:28:56 CST 2024 : Apache Derby 网络服务器 - 10.14.2.0 - (1828579) 关闭<br>
复制代码
参考:
https://db.apache.org/derby/manuals/index.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
三尺非寒
金牌会员
这个人很懒什么都没写!
楼主热帖
Centos7安装Mysql5.7(超详细版) ...
可观测性之两大误区
微信小程序--点餐系统(本地服务器+源 ...
Java多线程超级详解(只看这篇就够了) ...
小白也可以轻松破解被加密的ZIP口令啦 ...
GPRS与4G网络:技术差异与应用选择 ...
“远程客户端操作hdfs创建文件夹”,验 ...
如何从命令行启动 CST 软件? ...
如何获取Class对象呢?
环形缓冲区 Ring Buffer 的实现 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表