2013-10-11 262 views
2

我准备了一个应用程序,它是一个学生信息操作的小演示。我在MySQL DB中存储了与学生相关的信息。现在我的应用程序在我的电脑上工作了100%。但是我不需要依赖数据库就可以在任何地方工作!我的意思是我只想“无论我的.JAR文件如何,数据库也应该与内部.JAR文件一起进行”java应用程序与mysql数据库

因此,任何使用我的应用程序或尝试它的人,他们都可以实现此应用程序的确切结果。

我该如何做到这一点?请有人帮助我。

对于我做了以下事情:

我已经在我的电脑上安装了MySQL数据库。

我创建

我已经创建了数据库中的一些表有大量的数据。这数据是在我的整个应用程序中使用,即使登录的是MySQL服务器上的数据库。

现在我想将这个应用程序交付给不同的客户,但我的客户不是技术人员,我不想给我的每个客户做指示以完成上述四个步骤。

如何将一些功能集成到我的应用程序中,以便他们可以自动使用我的数据库,表和数据。

如果代码可以从应用程序附带的安装文件自动安装MySQL数据库会好得多。

在市场上可用的应用程序如何管理信息

+2

简单的回答:不,你不能把你的jar文件中的数据库。但!您可以使用某种类型的嵌入式数据库。看看[这个问题](http://stackoverflow.com/questions/19245143/standalone-database-for-swing-application-which-does-not-need-server-dependancy/19245334#19245334)。即在嵌入Derby的情况下,如果您的数据库放置了jar文件,那么您的数据库将只创建一次(如果它不存在,您也可以将应用程序设置为在不存在的情况下创建表)。 –

+0

P.S.虽然是重复的,但这是一个很好的问题。 –

回答

1

你有没有想过使用其他数据库引擎? MySQL要求安装和配置服务器,而这是一个由自动安装程序完成的巨大任务。 如何使用SQLite http://www.sqlite.org/或Apache Derby http://db.apache.org/derby/。他们都通过创建您的工作目录文件的工作,你可以建立数据库并填充数据在安装时

+0

这个问题更多的是重复的。而且,也让我想知道你的回答和我的评论之间的区别在哪里。 –

+0

是否有可能将我的Mysql数据库转换为sqlite ..请建议我 –

0

我对你有两个建议:

A.使用SQLite,而不是MySQL的。 SQLite是一个可嵌入的数据库引擎,完全符合你的需求。您可以简单地复制存储所有信息的.sqlite文件,并将其与您的JAR文件一起分发。鉴于您已经为您使用MySQL编写了应用程序,这可能意味着对您的代码进行了一些更改。

有在一个良好的SQLite JDBC驱动程序:我之前已经用它 https://bitbucket.org/xerial/sqlite-jdbc

,虽然不广泛。

B.使用MySQL的可移植安装。如果您使用的是Windows,这些可在MYSQL页面上找到,请查找标有“ZIP Archive”的下载文件,而不是“MSI Installer”。这些版本是可移植的,因为它们不需要安装过程,只需解压缩文件并启动服务即可。当然,你的客户需要知道如何启动它。也许你可以为此创建一个快捷方式。

当然,MySQL作为一个网络服务器的想法是,企业中的每个人都可以通过连接到同一台服务器来处理相同的数据。如果您的客户将在同一家公司的不同计算机上使用此应用程序,则应考虑安装单个MySQL服务器,并使客户端连接到该服务器。

希望这会有所帮助!

+0

或者为用户创建一个帮助文件的地狱,它解释了如何安装所有东西! :) –

+0

我可以使用转储文件来移动我的数据..因为在另一个系统上也会有mysql服务器..我的意思是没有安装mysql设置的问题..只有一个主要的是我没有足够的时间将我的数据库更改为sqlite –

+0

@ brano88我不能给他们一个帮助文件..没有意义创建所有表,并在其中插入我的整个项目正在运行的数据的MB的数据。 –

相关问题