java - 在 java swing 中构建后,我的数据库会出现在 jar 文件中吗?

标签 java mysql database swing

我正在开发下载管理器的应用程序。问题是我需要添加代理设置。我想使用 MySQL 将用户输入的代理设置保存在数据库中,以便当用户下次打开应用程序时,他可以发现它们已保存。那么,当我完成应用程序的构建后,jar 文件会包含数据库吗?即应用程序可以在没有 NetBeans 或任何其他 IDE 的任何其他计算机上运行而不会出现任何问题吗?我应该如何实现数据库来实现这一目标?我现在的数据库代码是

Class.forName("com.mysql.jdbc.Driver");
con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/proxyInfo", "root", "root");
String sql = "select * from Proxy";
pst = (PreparedStatement) con.prepareStatement(sql);
rs = pst.executeQuery();

最佳答案

您正在连接到此处的 mysql 安装:

jdbc:mysql://localhost:3306/proxyInfo", "root", "root"

这是在本地主机上运行的 mysql,带有一个名为 proxyInfo 的数据库和凭证 root/root。

如果您分发代码,则该代码将无法在您自己的计算机以外的任何计算机上使用,除非该计算机在同一端口上运行 mysql 安装,具有相同的数据库和相同的凭据。

您有两个广泛的选择。

您可以指示用户向应用程序提供连接到他们可用的 mysql 安装的连接字符串,并运行创建所有必要架构的数据库“脚本”。

如果您使用 hibernate 或 JPA,则此架构可能是从您的实体类自动生成的。否则,您必须使用 jdbc 来完成此操作,类似于此处所做的操作:http://www.tutorialspoint.com/jdbc/jdbc-create-database.htm

您的另一个选择是使用嵌入式数据库,例如 http://hsqldb.org/https://db.apache.org/derby/ 。通过这些,您可以在应用程序中包含数据库,并使用上述任何方法来生成数据库架构。

人们两者都做。嵌入式数据库通常只实现 my sql 标准的一部分,您将失去您所依赖的任何 mysql 特定功能。

关于java - 在 java swing 中构建后,我的数据库会出现在 jar 文件中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33056781/

相关文章:

mysql - WordPress数据库备份问题

sql - MySQL - 非法混合排序规则 (utf8_general_ci,COERCIBLE) 和 (latin1_swedish_ci,IMPLICIT) 用于操作 'UNION'

java - 使用fft进行处理

java - 将字符串中的每个单词或数字组合加倍

Mysql 查询在服务器端执行时有效,但在客户端执行时无效

sql - 使用时间戳查询 MySQL 数据库

Android - 加快向数据库中插入数据的速度

mysql - 尝试在 ubuntu 上设置 wordpress 并想在 mysql 中授予权限

java - 英特尔lij : How can I wrap a piece of text in Javadoc?

java - 为什么我不能用短构造函数参数声明枚举类型?