这是一个愚蠢的问题,我知道,但我想了解这两个数据库在我的系统中是如何处理的。
我的 Eclipse IDE 有两个项目:h2_test
和mysql_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
是动态网络项目。
当我运行我的h2_db
时我的 h2 数据库实例是在我的硬盘上的 ~/目录中创建的。
当我运行我的msql_db
时我的mysql数据库实例是在内存中创建的吗?
我必须补充一点,要实际运行 mysql,我必须安装它并作为 system.service 运行,而对于 h2,我所要做的就是在 eclipse 中连接 h2 驱动程序。为什么 mysql 这么麻烦?
- 为什么我不能对 mysql db 使用相同的逻辑并创建如
jdbc:mysql:~/mysql_db
? - 这些设置有何不同?哪一种更适合网络应用程序?
最佳答案
h2 DB 是一个独立的数据库,单个 Java 应用程序可以直接加载并在其上运行。通常,一个应用程序一次可以使用一个数据库。其他此类 DB 包括键值 LevelDB 和 Java 的 DB4O。
另一方面,MySQL 被设计得更强大,因为它在服务器进程中运行(用 C++ 编写)。应用程序(同时大量)可以连接到给定的 MySQL 服务器(通过身份验证),甚至可以从不同的主机连接。
关于java - 为什么eclipse中h2和mysql数据库位置不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23619016/