为什么e2中的h2和mysql数据库位置不同?

时间:2014-05-12 21:14:58

标签: java mysql h2

这是一个愚蠢的问题,我知道,但我想了解如何在我的系统中处理这两个数据库。

我有两个项目的eclipse IDE:h2_testmysql_test,其中h2_test配置为使用h2数据库,mysql_test配置为使用mysql数据库。

h2_test中,我将h2位置配置为String url = "jdbc:h2:~/h2_db",而将mysql_test配置为<property name="url" value="jdbc:mysql://localhost:3306/mysql"/>。您可能已经猜到h2_test是一个普通的Java项目,mysql_test是动态Web项目。

当我运行h2_db时,我的h2数据库实例是在〜/目录下的硬盘上创建的。 当我运行我的msql_db我的mysql数据库实例是在内存中创建的吗?

我必须补充一点,实际运行mysql我必须安装它并作为system.service运行,而对于h2,我所要做的就是在eclipse中连接一个h2驱动程序。为什么用mysql这么麻烦?

  1. 为什么我不能使用与mysql db相同的逻辑并且create为jdbc:mysql:~/mysql_db
  2. 这些设置如何不同,哪个更适合Web应用程序?

1 个答案:

答案 0 :(得分:2)

h2 DB是一个独立的数据库,单个Java应用程序直接加载并进行操作。通常,单个应用程序一次可以使用DB。其他这类数据库是键值LevelDB和Java的DB4O。

另一方面,MySQL设计得更强大,因为它在服务器进程中运行(用C ++编写)。应用程序(同时大量数据)可以连接到给定的MySQL服务器(带有身份验证),甚至可以连接到不同的主机。