2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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
Will be read back as SMALLINT

BLOB

BLOB

BOOLEAN

SMALLINT

Cloudscape/Derby have no native boolean type
Will be read back as BOOLEAN

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
Derby: DOUBLE

FLOAT

Cloudscape: DOUBLE PRECISION
Derby: DOUBLE

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安装使用说明相关推荐

  1. 2021Eclipse 的安装使用说明

    Eclipse 的安装使用说明 1. 下载 2. 安装 3. Eclipse 的一些基本设置 4. Eclipse 常见的问题 1. 下载 Eclipse 下载地址(官网) 1 . 点击上面链接直接进 ...

  2. DPU-PYNQ Ultra96v2安装使用说明

    由于不能直接上传word文档,本文档中大量的图片我没有时间上传,待有空时再补图片,请谅解! DPU-PYNQ Ultra96v2安装使用说明 目 录 预备知识 3 Execution Model 3 ...

  3. 川崎机器人总线通信_川崎机器人 | EtherNet/IP安装使用说明

    川崎机器人 | EtherNet/IP安装使用说明 注:本文章文字.图片部分来自网络 版权归原作者,侵删. 您是否对将工业自动化集成到您的设施中感兴趣?如果是这样,那么您应该致电工业自动化和集成领域的 ...

  4. 智慧灯杆的单灯控制器安装使用说明

    在智慧路灯杆的功能中,单灯控制器实施方便,实用性强,应用灵活,在各种智慧路灯杆应用中被广泛采纳.本文简述智慧灯杆的单灯控制器安装使用说明. 本款单灯控制器主要应用于智慧灯杆.智慧路灯杆.多功能杆或者客 ...

  5. Derby安装与环境配置

    Derby安装与环境配置 简介 JDK JDK安装 JDK配置 JDK验证 Derby Derby下载 Derby安装 设置DERBY_INSTALL 配置嵌入式Derby 验证Derby 简介 本教 ...

  6. pdo sqlite_ sqlite2 pdo_mysql_PHP数据库连接篇,PDO连接sqlite数据库,Sqlite安装使用说明!(PHP+Sqlite2和PHP+Sqlite3)...

    PHP+Sqlite2和PHP+Sqlite3 PHP数据库连接篇,PDO连接sqlite数据库,Sqlite安装使用说明! SQLite是一种轻量级的关系型数据库,可以内嵌在我们的应用程序中一起发布 ...

  7. snmp-exporter安装使用说明

    snmp-exporter安装使用说明 前置环境 安装go 安装snmp_exporter generate 安装mibs库 使用方法 测试运行 前置环境 yum install gcc gcc-g+ ...

  8. Homebrew 安装使用说明

    Homebrew 安装使用说明 前言 安装 macOS安装要求 安装脚本 更新homebrew 源地址管理 前言 什么是 Homebrew,它能做什么? 官网给出的答案是 The Missing Pa ...

  9. 沉浸式翻译安装使用说明

    沉浸式翻译安装使用说明 简介 智能识别网页主内容区进行翻译,与同类插件翻译整个网页不同,降低对原网页的"侵入性",提升阅读体验,因此得名"沉浸式翻译". 双语显 ...

最新文章

  1. matlab字母随机排列,matlab_一组数据元素随机排列
  2. keil 器件是空的,Keil的Device为空,不能选择器件
  3. python产生5个随机数_Python和numpy生成随机数
  4. 传纸条(洛谷-P1006)
  5. oracle 替换全部空格
  6. 一次应对PowerShell+WMI挖矿***的记录
  7. 如何创建xsl文件 xml_EXCEL知识分享 I 连载如何快速创建XML文件
  8. https://docs.python.org/3/
  9. Sublime Text3配置LaTeX环境及使用Sumatra PDF作为阅读器——亲测可用
  10. 可靠性计算python库
  11. 新司机的黑裙战斗机 篇四:新司机的黑群晖指北—软件篇(下)
  12. 【云扩RPA】Table
  13. ubuntu18.04安装搜狗拼音
  14. nuc6i7kyk+linux+驱动,Intel 2016年最新版迷你PC!NUC Kit NUC6i7KYK 骷髅峡谷迷你PC!
  15. C语言strchr()函数以及strstr()函数的实现
  16. 英文论文写作排版-IEEE论文排版技巧
  17. 各航空公司的网址和电话
  18. Matlab字体美化
  19. mysql 10045错误
  20. 第四章:WPF依赖/附加属性,数据绑定(一)

热门文章

  1. 程序员喝酒文化 (转贴)
  2. C/C++指针 引用
  3. 求 一个字符 在二进制表示中1的个数
  4. 正则表达式学习笔记003--问号和加号的认识与应用
  5. mybatis 配置文件中,collection 和 association 的对应关系
  6. php spl函数,PHP SPL标准库中的常用函数介绍
  7. stream 定长循环_Java8之Stream流代替For循环操作
  8. ae中心点重置工具_如何使用AE制作文字破碎动画?制作ae破碎文字特效教程分享...
  9. java前台计算date差_js前台计算两个日期的间隔时间
  10. keyshot渲染玻璃打光_KeyShot新手的第一次打光,无脑三点打光塑造模型质感