0

我正在尝试编写一个将数据存储在独立 sql db 中的 java 程序。但是,我不知道如何用 java 创建一个 sql db 以及如何建立这个连接。谁能给我一些建议?

4

2 回答 2

2

H2添加到您的类路径中,它非常简单:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Jdbc {
    public static void main(String[] args) throws Exception {
        Connection connection = DriverManager.getConnection("jdbc:h2:mem:");
        Statement statement = connection.createStatement();
        statement.execute("create table chair(id int primary key auto_increment, legs int not null, color varchar(255))");
        statement.execute("insert into chair (legs, color) values (4, 'red')");
        statement.execute("insert into chair (legs) values (6)");
        ResultSet rs = statement.executeQuery("select * from chair");
        while (rs.next()) {
            String color = rs.getString("color") == null ? "" : rs.getString("color") + " ";
            System.out.println("Got a " + color + "chair with " + rs.getInt("legs") + " legs");
        }
        connection.close();
    }
}

除了能够纯粹在内存中运行或作为独立服务器运行之外,H2 还带有一个内置的、基于 Web 的 sql 工作台。

注意:您应该从JDBC 教程开始,以帮助您避免主要的陷阱,例如连接泄漏。

于 2013-02-24T06:59:59.473 回答
1

你考虑过Apache Derby吗?

Apache Derby 是 Apache DB 子项目,是一个完全用 Java 实现的开源关系数据库,可在 Apache 许可证 2.0 版下使用。一些关键优势包括:

  • Derby 占用空间很小——大约 2.6 MB 用于基本引擎和嵌入式 JDBC 驱动程序。
  • Derby 基于 Java、JDBC 和 SQL 标准。
  • Derby 提供了一个嵌入式 JDBC 驱动程序,使您可以将 Derby 嵌入到任何基于 Java 的解决方案中。
  • Derby 还通过 Derby Network Client JDBC 驱动程序和 Derby Network Server 支持更熟悉的客户端/服务器模式。
  • Derby 易于安装、部署和使用。

如果您不熟悉 Derby,请查看快速入门页面。

这就是说,我忘记了H2。+1 瑞恩的建议。

于 2013-02-24T06:37:02.387 回答