JDK自带的数据库 - Derby

简介:

1、JDK自带的数据库 - Derby

一句话概括:JDK6之后自带的微型数据库。默认安装之后会放在jdk下面的db包中,如果没有,可以自行下载:http://db.apache.org/derby/derby_downloads.html

JDK 6 的程序员们也许会发现,除了传统的 bin、jre 等目录,JDK 6 新增了一个名为 db 的目录。这便是 Java 6 的新成员:Java DB。这是一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。它只有 2MB 大小,对比动辄上 G 的数据库来说可谓袖珍。特别适合Java的单元测试和集成测试之中。

2、Derby使用

(1)加入pom依赖

 
  1. <dependency> 
  2.             <groupId>org.apache.derby</groupId> 
  3.             <artifactId>derby</artifactId> 
  4.             <version>10.6.1.0</version> 
  5.             <scope>test</scope> 
  6. </dependency> 

(2)创建数据库、连接、操作、销毁数据库、关闭

 
  1. try { // load the driver 
  2.             Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance(); 
  3.             System.out.println("Load the embedded driver"); 
  4.             Connection conn = null
  5.             Properties props = new Properties(); 
  6.             props.put("user""user1");  props.put("password""user1"); 
  7.            //create and connect the database named helloDB  
  8.             conn=DriverManager.getConnection("jdbc:derby:helloDB;create=true", props); 
  9.             System.out.println("create and connect to helloDB"); 
  10.             conn.setAutoCommit(false); 
  11.  
  12.             // create a table and insert two records 
  13.             Statement s = conn.createStatement(); 
  14.             s.execute("create table hellotable(name varchar(40), score int)"); 
  15.             System.out.println("Created table hellotable"); 
  16.             s.execute("insert into hellotable values('Ruth Cao', 86)"); 
  17.             s.execute("insert into hellotable values ('Flora Shi', 92)"); 
  18.             // list the two records 
  19.             ResultSet rs = s.executeQuery( 
  20.                 "SELECT name, score FROM hellotable ORDER BY score"); 
  21.             System.out.println("name\t\tscore"); 
  22.             while(rs.next()) { 
  23.                 StringBuilder builder = new StringBuilder(rs.getString(1)); 
  24.                 builder.append("\t"); 
  25.                 builder.append(rs.getInt(2)); 
  26.                 System.out.println(builder.toString()); 
  27.             } 
  28.             // delete the table 
  29.             s.execute("drop table hellotable"); 
  30.             System.out.println("Dropped table hellotable"); 
  31.              
  32.             rs.close(); 
  33.             s.close(); 
  34.             System.out.println("Closed result set and statement"); 
  35.             conn.commit(); 
  36.             conn.close(); 
  37.             System.out.println("Committed transaction and closed connection"); 
  38.              
  39.             try { // perform a clean shutdown  
  40.                 DriverManager.getConnection("jdbc:derby:;shutdown=true"); 
  41.             } catch (SQLException se) { 
  42.                 System.out.println("Database shut down normally"); 
  43.             } 
  44.         } catch (Throwable e) { 
  45.             // handle the exception 
  46.         } 
  47.         System.out.println("SimpleApp finished"); 

 

3、应用场景

单元测试、自动化集成测试



本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/515281,如需转载请自行联系原作者

相关文章
|
3月前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
54 0
|
6月前
|
存储 Java 关系型数据库
数据类型的取值范围以及Java和Mysql数据库的类型对照--强调时间类型的转换(jdk1.8)
数据类型的取值范围以及Java和Mysql数据库的类型对照--强调时间类型的转换(jdk1.8)
47 0
|
7月前
|
Java 关系型数据库 MySQL
【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目
【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目
317 0
|
7月前
|
前端开发 Java API
Java【代码分享 05】实现字符串转数据库的inStr使用JDK8 stream.collect(Collectors.joining(delimiter, prefix, suffix)) 实现
Java【代码分享 05】实现字符串转数据库的inStr使用JDK8 stream.collect(Collectors.joining(delimiter, prefix, suffix)) 实现
54 0
|
弹性计算 安全 关系型数据库
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
阿里云部署javaWeb项目(jdk、tomcat、Mariadb数据库)的安装 🍅 程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
363 0
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
|
Java 数据库连接 数据库
JDK8 连接Access数据库
如何使用Java连接ODBC并配置Access数据库,JDK8配置连接Access数据库。
134 0
JDK8 连接Access数据库
|
弹性计算 安全 关系型数据库
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
阿里云部署javaWeb项目(jdk、tomcat、Mariadb数据库)的安装
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
|
Java 数据库连接 数据库
Derby数据库
JDK6笔记(1)----Derby数据库 1)JDK6包含了一个轻量级的数据库,称为Derby,它属于Apache数据库项目的产品。Derby是基于事务型的关系数据库,在磁盘上占用空间极少。
1246 0
|
Java 数据库连接 数据库
Derby数据库
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1523954 Derby数据库  JDK6笔记(1)----Derby数据库 1)JDK6包含了一个轻量级的数据库,称为Derby,它属于Apache数据库项目的产品。
985 0