您的位置:首页 > 其它

Atitit. Derby的使用总结attilax

2015-12-25 19:47 531 查看
Atitit. Derby的使用总结attilax

1. Derby数据库的存储结构1

2. Derby gui工具1

3. 代码读写derby2

4. 与sqlite 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://www.cnblogs.com/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. 参考

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

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

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

Derby通过JDBC操作数据库(两种) - greatwqs Where amazing happens ... - ITeye技术网站.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: