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

标签 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是动态网络项目。

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

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

  1. 为什么我不能对 mysql db 使用相同的逻辑并创建如 jdbc:mysql:~/mysql_db
  2. 这些设置有何不同?哪一种更适合网络应用程序?

最佳答案

h2 DB 是一个独立的数据库,单个 Java 应用程序可以直接加载并在其上运行。通常,一个应用程序一次可以使用一个数据库。其他此类 DB 包括键值 LevelDB 和 Java 的 DB4O。

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

关于java - 为什么eclipse中h2和mysql数据库位置不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23619016/

相关文章:

mysql - 尝试将 4 个表与一个 mysql 查询关联起来

PHP/MySQL 日期和时间比较(不带秒)

java - 如何允许多个用户同时连接到我的 H2 数据库?

spring-mvc - 为@Autowired jdbcTemplate 和 h2 内存数据库执行多次运行脚本

java - Hibernate 不在 JBoss 7.1.1 的 H2 中保存数据

java - 当您有名为 "Users"的表时出现 H2 JDBC 错误

java - Java 中的 C 静态变量行为

php - 帮助更新成功 jquery ajax 上的关联元素

java - 为什么 UnixSystem().getUsername() 返回 null(Docker 中的 OpenJDK 17)

java - Maven 不使用指定的源和目标设置