Java程序中的数据库使用情况

时间:2013-05-05 23:56:46

标签: java sql relational-database javadb

我从多个来源发现,对象序列化主要用于存储对象,以便它们可以通过网络发送,然后重新构建。它甚至必须经过测试:http://www.ibm.com/developerworks/library/j-serialtest/index.html。作为替代方案,我决定使用关系数据库。唯一的问题是,如果我依靠关系数据库来存储数据,我是否必须要求我的程序的任何用户安装或配置任何东西? //原谅我:我以前没有数据库经验。

另外,我听说过JavaDB(我的Java教科书称它为Apache Derby版本)。它是关系数据库管理系统(RDBMS)的集合吗?如果答案是“是”,那么JavaDB中包含哪些RDBMS?

3 个答案:

答案 0 :(得分:3)

根据{{​​3}},

Apache Derby

  

一个全功能的关系嵌入式数据库引擎,支持JDBC   和SQL作为编程API。它使用IBM DB2 SQL语法。

我认为您正在考虑的是wikipedia,这是一种独立于供应商的方式,可以从Java中访问数据库。

答案 1 :(得分:2)

Derby是您可以使用的众多关系数据库之一。其他的是Oracle,SQL Server,MySQL,PostgreSQL和Hypersonic SQL。

有些是开源的(MySQL,PostgreSQL,Hypersonic SQL,SQL Lite);其他人需要许可证(Oracle,SQL Server)。

有些需要安装(MySQL,PostgreSQL,Oracle,SQL Server);其他人没有(SQL Lite,Derby,Hypersonic SQL)。

Java使用JDBC与所有数据库交互。您从供应商处获得了一个JAR类,这些类实现了该特定数据库的java.sql包中的接口。

答案 2 :(得分:1)

我很大程度上取决于你想用数据库实现什么。如果数据库只是由用户本地连接(在那台机器上),那么您可能更喜欢单个用户数据库系统。

然后,您可以将数据库引擎作为常规部署的一部分包含在内,因为大多数不需要“安装”或“配置”,只需使用专门的JDBC连接即可启动。

看看

哪些都是纯Java数据库,支持单用户访问的概念,但如果您愿意,可以配置为独立的数据库服务器...