我目前正在学习Java和swing,并且正在尝试创建一个桌面应用程序。
作为这个应用程序的一部分,我已经设置了一个应用程序连接到的mysql数据库,但是我不确定如果我要为其他用户分发应用程序,我如何创建一个数据库,如果他们没有安装mySQL或启动数据库,他们将能够在他们的系统上使用。
如果能帮上忙,我们将非常感激。
发布于 2015-07-09 03:38:24
你应该使用嵌入式数据库。我不建议将MySQL用于商业应用,因为它非常昂贵。尝试使用HSQLDB -非常快,并且没有内存泄漏(至少我没有注意到)。
下面是一个实现示例:
private static Connection conn;
/**
* Gets database connection.
*
* @return the database connection.
* @throws SQLException if database error occurs.
*/
public static Connection getConnection() throws SQLException {
if (conn == null || conn.isClosed()) {
conn = DriverManager.getConnection("jdbc:hsqldb:file:data", "somedb", "");
// conn.setAutoCommit(false);
}
return conn;
}确保已将hsqldb.jar文件添加到库中。
发布于 2015-07-09 03:39:51
我建议用SQLite而不是mySQL。听起来你需要一个独立的数据库,它不需要服务器来运行。我做过Java (和Android)、Swing以及C#。我发现SQLite是在不同平台上拥有数据库而不是安装服务器的最佳解决方案。
发布于 2015-07-09 03:44:58
您有三个选择:
“选项3”是最常见的场景。一种选择是"web app“(在这种情况下,你根本不需要"Swing桌面”app )。另一种选择是“胖客户端Java小程序”。你可以使用Swing,大部分处理都是本地的……但是您的Swing小程序将与远程数据库通信以访问数据库。您可以考虑使用REST接口。
如果你真的想要选项1(应用程序和数据库完全本地到桌面),那么我肯定会选择embedded database。Sqlite是一个很好的选择。事实上,Android使用的是Sqlite。HSQLDB甚至MS-Access也是不错的选择。
https://stackoverflow.com/questions/31301951
复制相似问题