Java 为什么在eclipse中h2和mysql数据库位置不同?

Java 为什么在eclipse中h2和mysql数据库位置不同?,java,mysql,h2,Java,Mysql,H2,这是一个愚蠢的问题,我知道这一点,但是我想了解在我的系统中如何处理这两个数据库 我有两个eclipse IDE项目:h2\u test和mysql\u test,其中h2\u test配置为使用h2数据库,mysql\u test配置为使用mysql数据库 在h2\u测试中我将h2位置配置为String url=“jdbc:h2:~/h2\u db”,而在mysql\u测试中配置为。您可能已经猜到,h2\u测试是一个普通的java项目,mysql\u测试是一个动态web项目 当我运行我的h2\u

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

我有两个eclipse IDE项目:
h2\u test
mysql\u test
,其中
h2\u test
配置为使用h2数据库,
mysql\u test
配置为使用mysql数据库

h2\u测试中
我将h2位置配置为
String url=“jdbc:h2:~/h2\u db”
,而在
mysql\u测试中
配置为
。您可能已经猜到,
h2\u测试
是一个普通的java项目,
mysql\u测试
是一个动态web项目

当我运行我的
h2\u db
时,我的h2数据库实例在~/目录下的硬盘上创建。 当我运行我的
msql\u db
时,我的mysql数据库实例是在内存中创建的吗

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

  • 为什么我不能使用与mysql db相同的逻辑并创建它,就像
    jdbc:mysql:~/mysql\u db
  • 这些设置有何不同?对于web应用程序,哪种设置更可取

  • H2DB是一个独立的数据库,由单个Java应用程序直接加载并运行。通常,单个应用程序一次可以使用一个DB。这种类型的其他数据库是键值LevelDB和Java的DB4O


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

    MySQL也像h2一样存储在硬盘中。但它处理文件的方式与toy数据库h2有很大不同。这是否意味着mysql比h2更适合作为一个简单的web应用程序?@minerals是的,即使只是因为可伸缩性。@minerals h2用于测试目的。如果您想使用真实世界的应用程序,至少使用MySQL,在应用程序中经过繁重的处理后,MySQL可以成为一个玩具。