Atitit. Derby的使用总结attilax

Atitit. Derby的使用总结attilax

 

1Derby数据库的存储结构1

2Derby gui工具1

3代码读写derby2

4sqlite db4o的对比4

5参考5

 

 

1. Derby数据库的存储结构

 

 

D:\derby\ij_cmd_test_db\seg 哈面儿一瓦dat文件...

 

 

 D:\derby\ij_cmd_test_db 的目录

 

2015/12/22  17:14    <DIR>          .

2015/12/22  17:14    <DIR>          ..

2015/12/22  17:14                38 db.lck

2015/12/22  16:38    <DIR>          log

2015/12/22  16:42    <DIR>          seg0

2015/12/22  16:38               869 service.properties

2015/12/22  17:14    <DIR>          tmp

               2 个文件            907 字节

2. Derby gui工具

要使用url模式。。简单的server info模式不行

jdbc:derby:D:\derby\ij_cmd_test_db

 

DbVisualizer 9.2.13

  DbVisualizer是一个跨平台的数据库工具,支持各种关系数据库,它可以通过JDBC驱动同时和多个不同的数据库建立连接,对管理者和开发人员来说,它友好的界面可以带来很大的方便。

 

 

 

 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

3. 代码读写derby

package aaaAtiDslParser;

 

 

 

 

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Properties;

 

/**

 * @author greatwqs

 * @date 2011-8-12

 */

public class DerbyTest_File {

 

private final static String DB_URL = "jdbc:derby:D:\\derby\\ij_cmd_test_db;create=true";

private final static String DERBY_DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";

 

public static void main(String[] args) {

Connection conn = null;

try {

Class.forName(DERBY_DRIVER);

Properties properties = new Properties();

// properties.put("create", "false"); // 新建数据库

// properties.put("user", "APP");     // 用户名

// properties.put("password", "APP"); // 密码

 

// properties.put("retreiveMessagesFromServerOnGetMessage", "true");

conn = DriverManager.getConnection(DB_URL, properties);

 

Statement stat = conn.createStatement();

stat.execute("create table ijtest(id int primary key,txt varchar(20))");

stat.execute("insert into ijtest(id,txt) values(1,'aa') ");

ResultSet result = stat.executeQuery("SELECT id,txt FROM ijtest");

 

while (result.next()) {

System.out.println("序号 : " + result.getInt(1));

}

result.close();

stat.close();

conn.close();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} finally {

// 内嵌模式数据库操作用完之后需要关闭数据库,这里没有执行数据库名称则全部关闭.

try {

DriverManager.getConnection("jdbc:derby:;shutdown=true");

} catch (SQLException e) {

e.getMessage();

}

}

System.out.println("---ff");

}

}

 

 

 

4. sqlite db4o的对比

 

SQLite 是不可替代的开发环境解决方案。但真的没有其他兼容性更好的选择了吗?好吧,仅举几个原因:MySQL的兼容性和支持哈希索引,还不止这些!

当我们寻找 SQLite 的替代方案时,有两个可选,分别是 H2 和 MySQL Embeded 版本。我关注的是可像 SQLite 一样方便使用,但又必须兼容 MySQL。

下面我们对三个数据库进行简单的比较:

比较项目

SQLite

H2 database engine

MySQL Embedded

Footprint

350KiB

~1MB

<2MB

授权协议

Public domain

Dual: Modified MPL 1.1 / EPL 1.0 (commercial friendly)

GPL 2.0 (only commercial friendly if not redistributed)

自容器

单文件

无服务器

服务器模式

零配置

事物处理

索引

✔ (B-tree, R-tree, full-text)

✔ (B-tree, tree, hash, full-text)

✔ (B-tree, R-tree, hash, full-text)

MySQL 兼容性

✔ (but not 100%)

兼容其他数据库

✔ MySQL, PostgreSQL, Oracle, MSSQL, DB2, HSQLDB and Derby

加密

内存中数据库

✔ (MEMORY storage engine)

 

 

5. 参考

轻量级数据库比较:SQLiteH2 和 MySQL Embedded_数据库技术_Linux公社-Linux系统门户网站.htm

轻量级数据库比较:SQLiteH2 和 MySQL Embedded_数据库技术_Linux公社-Linux系统门户网站.htm

几种常见的内嵌数据库 - leagoal的专栏 博客频道 - CSDN.NET.htmdetail啊。)

Derby通过JDBC操作数据库(两种) - greatwqs   Where amazing happens ... - ITeye技术网站.htm

posted @ 2015-12-25 19:46  attilaxAti  阅读(287)  评论(0编辑  收藏  举报