三分钟学会使用Derby数据库
Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,java1.6开始集成了derby数据库,位于jdk下面的db目录下.
环境变量配置
CLASSPATH =
1
2
3
4
5C:openSourcejdk1.8.0_162dblibderby.jar;
C:openSourcejdk1.8.0_162dblibderbyclient.jar;
C:openSourcejdk1.8.0_162dblibderbytool.jar;
C:openSourcejdk1.8.0_162dblibderbynet.jar;
C:openSourcejdk1.8.0_162dblibderbytools.jar;PATH =
1
C:openSourcejdk1.8.0_162dbbin
如果不想配置,也可以使用下面指令来简化你的使用
在Derby数据库的/bin目录中提供了几个脚本用于设置classpath,以简化你手工在classpath中添加jar包的麻烦:
- setEmbeddedCP。当使用内嵌模式来运行Derby时,可以使用该脚本来设置。该脚本将derby.jar和derbytools.jar添加到环境变量中;
setNetworkServerCP。当使用网络模式来运行Derby时,用该脚本来设置Derby服务端的classpath变量。该脚本将derbynet.jar添加到环境变量中; - setNetworkClientCP。当使用网络模式来运行Derby时,用该脚本来设置Derby客户端的classpath变量。该脚本将derbyclient.jar和derbytools.jar添加到环境变量中。
一般只有当你通过derbyrun.jar来运行Derby工具时才会使用这些脚本。
Derby提供了三个工具脚本:
将derby数据库的bin目录加入环境变量后,可以在命令行中使用下面的脚本
- sysinfo
使用sysinfo可以显示你的Java环境信息和Derby的版本信息。使用方法就是在命令行下直接输入:
sysinfo.bat - dblook
使用dblook可以将全部或者部分数据库的DDL定义导出到控制台或者文件中。使用方法:
dblook.bat -d [Options] - ij
使用ij工具来进行数据库交互,执行SQL脚本,如查询、增删改、创建表等等。在命令行下输入:
ij.bat
即可启动ij工具,然后就可以开始执行SQL脚本了。当要退出ij工具时,在命令行下输入
exit;
即可。
注意:命令行中使用derby,无论是服务(使用服务先启动数据库
)还是文件的连接方式都要行执行 ij命令,进入derby数据库;
命令行中使用derby:
服务的方式(独立数据库)
这种模式下,需要使用两个控制台窗口,一个用于启动Derby数据库服务端,另一个做为访问Derby数据库的客户端。
可以通过DERBY数据库/bin目录下的==startNetworkServer.bat==来启动Derby数据库服务端,只需要在==命令行中输入==:
==startNetworkServer.bat==
或者是在命令行中输入1
java -jar derbyrun.jar server start;
数据库就启动了,启动成功会在控制台输出如下信息:
已使用基本服务器安全策略安装了安全管理程序。
Apache Derby Network Server - 10.4.1.3 - (648739) 已启动并且已准备好 2008-09-06
00:38:12.540 GMT 时在端口 1527 上接受连接
- 在命令行中输入ij,进入数据库
1
2
3connect 'jdbc:derby://localhost:1527/db_name';
或者是
connect 'jdbc:derby://localhost:1527/db_name;user=root;password=root;create=true;';
user=root;password=root; 创建一个用户.
create=true 没有数据库的话,也创建一个
文件连接的方式(内嵌数据库):
- 在在命令行中输入ij,进入数据库
- 再输入以下命令(注意db_name可以是相对路径也可以是绝对路径)
1
connect 'jdbc:derby:db_name';
与服务端连接上后,就可以开始执行SQL脚本了,:
如创建一个表格
table firsttable(id int primary key, name varchar(20)); ``` 1
2- 然后插入记录:
``` insert into firsttable values(1, ‘Hotpepper');也可以执行查询:
* from firsttable; ``` 1
2大专栏 三分钟学会使用Derby数据库an>- 也可以通过run命令来执行sql文件:
``` run 'E:/derby/demo/programs/toursdb/ToursDB_schema.sql';最后通过exit;来退出ij工具
在java中使用jdbc连接(独立数据库)
注意derby的所有的驱动在lib目录下面
- 先把derbycilent.jar导入项目,再buildpath一下
java代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class Db {
public static void main(String[] args) {
try {
// 创建实例
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
// 获得数据库连接
Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/firstdb");
String sql = "select name from stu";
PreparedStatement ps = conn.prepareStatement(sql);
// 执行查询语句
ResultSet rs = ps.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("name"));
} } catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) { e.printStackTrace();
} catch (InstantiationException e) { e.printStackTrace();
} catch (IllegalAccessException e) { e.printStackTrace();
}
}
}
也可以使用内镶数据库的连接方式连接jdbc(到最后加载驱动和Conncetion即可)
这儿的db_name可以是相对路径也可以是绝对路径,shutdown=true;用户在使用derby的内嵌数据库的时候有责任关闭数据库
- 请将derby.jar加入项目的build path路径
1 |
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance(); |
Tips: 注意网络模式和内嵌模式的不同出在于:
- 数据库连接URL的不同.(独立服务器模式是数据库库的名字,另外一个是数据库的路径)
- 应用程序退出时无效关闭Derby数据库;(内嵌数据库必须关闭)
- 数据库驱动的不同;
关闭数据库
1
在命令行中执行 java -jar derbyrun.jar server stop;
关于数据库的操作我在这儿就不说了,有需要学习的网友可以自己百度一下
- [x] 参考
三分钟学会使用Derby数据库的更多相关文章
- 三分钟学会@Autowired@Qualifier@Primary注解
三分钟学会@Autowired@Qualifier@Primary注解 2018.10.08 20:24 154浏览 今天主要简单的跟大家介绍一下spring自动装配相关的@Autowired,@Qu ...
- [转]三分钟学会.NET Core Jwt 策略授权认证
[转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而 ...
- 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...
- [计划任务 - Linux]三分钟学会cron
cron——计划任务,是任务在约定的时间执行已经计划好的工作,是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业. 也就是说cron只适合于linux系统,用windows电脑的同学 ...
- 三分钟学会.NET微服务之Polly
熔断降级是一个非常重要的概念,我们先说一下什么是熔断降级,咱们都知道服务发现,一个有问题的服务器没来得急注销过一会就崩溃掉了,那么我们的请求就有可能访问一个已经崩溃的服务器,那么就会请求失败,因为已经 ...
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- 三分钟学会funsioncharts
由于项目需求需要做一个报表,选择FusionCharts作为工具使用.由于以前没有接触过报表,网上也没有比较详细的fusionCharts教程,所以决定好好研究FusionCharts,同时做一个比较 ...
- 三分钟学会缓存工具DiskLruCache
DiskLruCache是一个十分好用的android缓存工具,我们可以从GitHub上下载其源码:https://github.com/JakeWharton/DiskLruCache DiskLr ...
- android一分钟学会可视化操作数据库(无需ROOT)
我刚开始弄android数据库的时候,想查询一些数据,以验证程序逻辑,发现很多方案都需要ROOT. 即便有不需要ROOT的方案,命令行交互也比较麻烦. 今天跟大家分享一下这个点点鼠标就能实现的功能. ...
随机推荐
- 03 Mybatis:01.Mybatis课程介绍及环境搭建&&02.Mybatis入门案例
mybatis框架共四天第一天:mybatis入门 mybatis的概述 mybatis的环境搭建 mybatis入门案例 -------------------------------------- ...
- 黑马IDEA版javaweb_2-1基础加强
今日内容 1. Junit单元测试 2. 反射 3. 注解 ## Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码 ...
- python机器学习(1:K_means聚类算法)
一.算法介绍 K-means算法是最简单的也是最著名的划分聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使用的.算法的目的是使各个样本与所在均值的误差平方和达到最小(这也是评价K-means算 ...
- 1017A.The Rank#排名
题目出处:http://codeforces.com/problemset/problem/1017/A #include<iostream> using namespace std; i ...
- fread 和fgets 函数的使用
两个函数都是对FILE *fp 文件进行读取信息,fgets是每次读取一行,fread是一下子读完所有的文件内容. //一.fread的使用 FILE *fp; int nread; ] fp = f ...
- 数据库my.ini配置
数据库my.ini配置 通过配置文件统一配置的目的:统一管理 服务端(mysqld) .客户端(client) 配置了 mysqld(服务端) 的编码为utf8,那么再创建的数据库,默认编码都采用 1 ...
- 如何优雅的设计APP页面?
页面框架设计只是整个产品设计中的一环,不要把眼界局限在这一环,也不要只站需求.只站在交互.只站在视觉上思考问题,从多个角度看问题,你才会学会成长. 产品设计是一个系统工程,单独拧出来其中一个流程来讲, ...
- 架构之道(5) - APP和Web的后台架构
当一个项目,同时需要Web.手机H5.Android,三平台同时可以测览,那就需要很简洁而有力的架构. 而我这就经历了这麽一个项目,先开发网站,然后是手机H5,最后是Android. 自信男人,无须多 ...
- React 通过注释自动生成文档
最近找了一些文档的生成工具,结果发现了这个 React Styleguidist 可以通过注释,自动生成对应的文档,对于 react 库来说十分方便 安装 npm i -D react-stylegu ...
- java gc 总结
垃圾查找 1.基于计数器 对象有引用计数,计数为0的,可以被收集 2.基于有向图 从gc root(栈.静态变量.JNI 变量)遍历,能访问的对象,不用被收集,其他的,可以被收集 因为计数器不能解决 ...