Derby安装使用说明
2019独角兽企业重金招聘Python工程师标准>>>
Derby数据库
概述
Derby是Apache组织提供一个基于java和SQL的关系数据库管理系统。Derby是用纯java编写和实现的,它可以紧密的嵌入到任何基于Java解决方案应用中。Derby提供两种部署方式:嵌入式和服务器模式。嵌入式:Derby被单个用户的Java应用程序使用,在这种模式下,Derby和应用程序运行在同一个JVM中。Derby对于终端用户几乎是透明的,因为它的启动和终止都是由应用程序来控制,而不需要任何的管理。
服务器模式:Derby由应用程序启动,此时通过用户可以通过网络连接。在这种模式下,Derby运行在服务器主机的JVM中。其他JVM的应用程序通过连接服务器来访问数据库。
下载
下载地址:http://db.apache.org/derby/derby_downloads.html
笔者在这里使用最新版本
derby嵌入式数据库开发简单流程
1. 在db.apache.org/derby页面中download页面下载bin包;
2. 解压缩bin包到一个磁盘中,并在环境变量中设置该路径名称为DERBY_HOME;
3. 将DERBY_HOME中的lib文件夹下两个重要的jar包添加到classpath环境变量中:
%DERBY_HOME%\lib\derby.jar;
%DERBY_HOME%\lib\derbytools.jar;
4. 运行命令行,进入待生成数据库文件夹的位置,准备生成数据库文件(该文件将不依赖于具体的路径,如果不是项目路径,在生成数据库后,也可以直接将数据库文件复制到程序路径下);
5. 进入derby工作模式:
java org.apache.derby.tools.ij
6. 新建数据库:
connect 'jdbc:derby:hxy;create=true';
其中hxy表示新建立数据库的名称,该名称也将作为生成的数据库的文件夹名称出现在当面操作目录下。create属性在数据库文件不存在的情况下是否创建该数据库,默认为false,可以不填写。
7. 创建表格:
create table employee(id integer not null,name varchar(40) not null,primary key(id));
8. 填充数据:
insert into employee values (1, 'John Smith');
9. 查询结果:
select * from employee;
(注意每一个命令都需要用分号结尾,对于没有使用分号结尾的命令,即使使用回车另起一行也不执行,这个行为和mysql的命令行类似。)
10. 退出数据库:
exit;
11. 将数据库文件复制到项目文件夹下(如果直接在项目文件夹下建立,则无需该操作);
12. 在项目中创建访问hxy数据库的java文件:
package org;
import java.sql.*;
public class TableFiller {
private Connection conn = null;
private PreparedStatement insertEmployee = null;
String driverName ="org.apache.derby.jdbc.EmbeddedDriver";
String url ="jdbc:derby:hxy";
public void loadDrivers() throws SQLException,ClassNotFoundException {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
insertEmployee = conn.prepareStatement("INSERT INTO Employee VALUES(?, ?)");
}
public static void main(String args[])throws Exception {
TableFiller tf = new TableFiller();
tf.loadDrivers();
for (int i=1; i<1001; i++) {
String empoloyeeNum = "" + i;
tf.addEmployee(empoloyeeNum, "employee #" + i);
System.out.print("\n" + empoloyeeNum);
}
tf.closeAll();
}
public void addEmployee(String id, String employeeName)throws SQLException {
insertEmployee.setString(1, id);
insertEmployee.setString(2, employeeName);
insertEmployee.executeUpdate();
}
public void closeAll()throws SQLException {
insertEmployee.close();
conn.close();
}
}
该访问方式是通过相对路径的方式,也可以处于安全考虑,将数据文件存储到一个绝对路径下。
13. 进入控制台,验证查询结果,查看是否按照程序执行,插入1000条数据。
注:程序执行后,对于derby数据库的独占就取消,因此可以通过命令行的方式来访问hxy数据库,否则访问会出现无法连接的情况。
暂时就这些心得,随着之后的使用,可能会更加深入介绍derby的其他内容。
Derby eclipse插件安装
安装Derby Plugin到Eclipse:
首先从Derby下载页面 查找最新官方发布的版本(或者需要的版本),下载derby_core_plugin 和 derby_ui_plugin这两个必须的Eclipse插件下载到计算机,并解压缩到Eclipse目录下的plugins文件夹下。注意,压缩包中所有文件可能都默认在plugin文件夹下,所以解压缩後,將得到plugin文件夹(也可能会叫plugin(1))下的所有文件拷贝到eclipse安装目录下的plugin文件夹中。
被拷贝的文件应该是org.apache.derby.core_10.6.2, org.apache.derby.ui_1.1.2, 和 org.apache.derby.plugin.doc_1.1.2这样3个名称的(根据下载选择,版本号会有不同)。
使用Derby同Eclipse:
首先,添加DerbyJava项目。运行Eclipse(如果Eclipse在安装Derby前就开着,请重新启动Eclipse)。在Package Explorer中选择Java项目,右键,依次选择Apache Derby,Add Apache Derby nature.到此,添加Derby完成。
你可以再次在项目上点击右键,Apache Derby,选择sysInfo(Derby System Information),便能在Eclipse的控制台输出中看到Derby系统信息。如下:
在使用hibernate的访问derby的时候,遇到了一个问题,就是如何映射boolean类型的数据呢?
搜索版体半天无果。
原来derby不支持boolean,
来源http://db.apache.org/ddlutils/databases/derby.html
JDBC Type |
Database Type |
Additional comments |
ARRAY |
BLOB |
Will be read back as BLOB |
BIGINT |
BIGINT |
|
BINARY |
CHAR(n) FOR BIT DATA |
|
BIT |
SMALLINT |
Cloudscape/Derby have no native boolean type |
BLOB |
BLOB |
|
BOOLEAN |
SMALLINT |
Cloudscape/Derby have no native boolean type |
CHAR |
CHAR |
|
CLOB |
CLOB |
|
DATALINK |
LONG VARCHAR FOR BIT DATA |
Will be read back as LONGVARBINARY |
DATE |
DATE |
|
DECIMAL |
DECIMAL |
|
DISTINCT |
BLOB |
Will be read back as BLOB |
DOUBLE |
Cloudscape: DOUBLE PRECISION |
|
FLOAT |
Cloudscape: DOUBLE PRECISION |
Will be read back as DOUBLE |
INTEGER |
INTEGER |
|
JAVA_OBJECT |
BLOB |
Will be read back as BLOB |
LONGVARBINARY |
LONG VARCHAR FOR BIT DATA |
|
LONGVARCHAR |
LONG VARCHAR |
|
NULL |
LONG VARCHAR FOR BIT DATA |
Will be read back as LONGVARBINARY |
NUMERIC |
NUMERIC |
|
OTHER |
BLOB |
Will be read back as BLOB |
REAL |
REAL |
|
REF |
LONG VARCHAR FOR BIT DATA |
Will be read back as LONGVARBINARY |
SMALLINT |
SMALLINT |
|
STRUCT |
BLOB |
Will be read back as BLOB |
TIME |
TIME |
|
TIMESTAMP |
TIMESTAMP |
|
TINYINT |
SMALLINT |
Will be read back as SMALLINT |
VARBINARY |
VARCHAR(n) FOR BIT DATA |
|
VARCHAR |
VARCHAR |
转载于:https://my.oschina.net/guoenzhou/blog/383267
Derby安装使用说明相关推荐
- 2021Eclipse 的安装使用说明
Eclipse 的安装使用说明 1. 下载 2. 安装 3. Eclipse 的一些基本设置 4. Eclipse 常见的问题 1. 下载 Eclipse 下载地址(官网) 1 . 点击上面链接直接进 ...
- DPU-PYNQ Ultra96v2安装使用说明
由于不能直接上传word文档,本文档中大量的图片我没有时间上传,待有空时再补图片,请谅解! DPU-PYNQ Ultra96v2安装使用说明 目 录 预备知识 3 Execution Model 3 ...
- 川崎机器人总线通信_川崎机器人 | EtherNet/IP安装使用说明
川崎机器人 | EtherNet/IP安装使用说明 注:本文章文字.图片部分来自网络 版权归原作者,侵删. 您是否对将工业自动化集成到您的设施中感兴趣?如果是这样,那么您应该致电工业自动化和集成领域的 ...
- 智慧灯杆的单灯控制器安装使用说明
在智慧路灯杆的功能中,单灯控制器实施方便,实用性强,应用灵活,在各种智慧路灯杆应用中被广泛采纳.本文简述智慧灯杆的单灯控制器安装使用说明. 本款单灯控制器主要应用于智慧灯杆.智慧路灯杆.多功能杆或者客 ...
- Derby安装与环境配置
Derby安装与环境配置 简介 JDK JDK安装 JDK配置 JDK验证 Derby Derby下载 Derby安装 设置DERBY_INSTALL 配置嵌入式Derby 验证Derby 简介 本教 ...
- pdo sqlite_ sqlite2 pdo_mysql_PHP数据库连接篇,PDO连接sqlite数据库,Sqlite安装使用说明!(PHP+Sqlite2和PHP+Sqlite3)...
PHP+Sqlite2和PHP+Sqlite3 PHP数据库连接篇,PDO连接sqlite数据库,Sqlite安装使用说明! SQLite是一种轻量级的关系型数据库,可以内嵌在我们的应用程序中一起发布 ...
- snmp-exporter安装使用说明
snmp-exporter安装使用说明 前置环境 安装go 安装snmp_exporter generate 安装mibs库 使用方法 测试运行 前置环境 yum install gcc gcc-g+ ...
- Homebrew 安装使用说明
Homebrew 安装使用说明 前言 安装 macOS安装要求 安装脚本 更新homebrew 源地址管理 前言 什么是 Homebrew,它能做什么? 官网给出的答案是 The Missing Pa ...
- 沉浸式翻译安装使用说明
沉浸式翻译安装使用说明 简介 智能识别网页主内容区进行翻译,与同类插件翻译整个网页不同,降低对原网页的"侵入性",提升阅读体验,因此得名"沉浸式翻译". 双语显 ...
最新文章
- matlab字母随机排列,matlab_一组数据元素随机排列
- keil 器件是空的,Keil的Device为空,不能选择器件
- python产生5个随机数_Python和numpy生成随机数
- 传纸条(洛谷-P1006)
- oracle 替换全部空格
- 一次应对PowerShell+WMI挖矿***的记录
- 如何创建xsl文件 xml_EXCEL知识分享 I 连载如何快速创建XML文件
- https://docs.python.org/3/
- Sublime Text3配置LaTeX环境及使用Sumatra PDF作为阅读器——亲测可用
- 可靠性计算python库
- 新司机的黑裙战斗机 篇四:新司机的黑群晖指北—软件篇(下)
- 【云扩RPA】Table
- ubuntu18.04安装搜狗拼音
- nuc6i7kyk+linux+驱动,Intel 2016年最新版迷你PC!NUC Kit NUC6i7KYK 骷髅峡谷迷你PC!
- C语言strchr()函数以及strstr()函数的实现
- 英文论文写作排版-IEEE论文排版技巧
- 各航空公司的网址和电话
- Matlab字体美化
- mysql 10045错误
- 第四章:WPF依赖/附加属性,数据绑定(一)
热门文章
- 程序员喝酒文化 (转贴)
- C/C++指针 引用
- 求 一个字符 在二进制表示中1的个数
- 正则表达式学习笔记003--问号和加号的认识与应用
- mybatis 配置文件中,collection 和 association 的对应关系
- php spl函数,PHP SPL标准库中的常用函数介绍
- stream 定长循环_Java8之Stream流代替For循环操作
- ae中心点重置工具_如何使用AE制作文字破碎动画?制作ae破碎文字特效教程分享...
- java前台计算date差_js前台计算两个日期的间隔时间
- keyshot渲染玻璃打光_KeyShot新手的第一次打光,无脑三点打光塑造模型质感