我正在尝试编写一个在独立的sql db中存储数据的java程序。但是,我不知道如何使用java创建sql db以及如何建立此连接。谁能给我一些建议?
答案 0 :(得分: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 tutorial开始,以帮助您避免重大陷阱,例如连接泄漏。
答案 1 :(得分:1)
您考虑过Apache Derby吗?
Apache Derby是一个Apache DB子项目,是一个开源关系 数据库完全用Java实现,可在Apache下使用 许可证,版本2.0。一些关键优势包括:
- Derby占用空间很小 - 基本引擎和嵌入式JDBC驱动程序大约2.6兆字节。
- Derby基于Java,JDBC和SQL标准。
- Derby提供了一个嵌入式JDBC驱动程序,可以让您在任何基于Java的解决方案中嵌入Derby。
- Derby还支持使用Derby Network Client JDBC驱动程序和Derby Network Server更熟悉的客户端/服务器模式。
- Derby易于安装,部署和使用。
如果您是Derby新手,请查看快速入门页面。
这就是说,我忘记了H2。为Ryan的建议+1。