首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让mysql数据库在客户机上运行(桌面应用)?

如何让mysql数据库在客户机上运行(桌面应用)?
EN

Stack Overflow用户
提问于 2021-10-04 05:06:17
回答 1查看 76关注 0票数 1

我正在制作一个JavaFX应用程序(租赁管理软件),并使用MySQL数据库。

我想知道如何让我的应用程序在朋友或客户的PC上工作,因为数据库在我的PC上?有没有办法在他们的PC上配置数据库,而不需要他们做所有的MySQL安装过程,因为他们不适合PC,让客户设置我想使用的本地数据库是不可靠的?

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 07:38:38

服务器与嵌入式

有两种数据库引擎:

  • 那些在自己的进程中运行的应用程序,作为一个单独的应用程序,接受来自同一台计算机或网络上任何数量的其他应用程序的连接。我们称之为数据库服务器
  • 那些在应用程序的进程中运行的应用程序,从父应用程序启动和停止,只接受来自父应用程序的连接。我们称之为嵌入式数据库引擎。SQLite是这样运行的。

有些数据库产品可以以这两种方式运行。H2 Database Engine就是这样一个产品。

考虑到您的情况,并考虑到H2是用纯Java语言编写的,我建议您用H2代替MySQL。在嵌入式模式下运行H2。

云数据库

另一种选择是设置一个用户可通过internets使用的数据库(MySQL或其他)。您可以运行自己的服务器。或者,您可以利用几个数据库即服务(DBaaS)供应商中的任何一个,例如Digital Ocean。由于不可靠的互联网连接、围绕数据库密码的安全问题以及多租户的挑战,这种“cloud database”方法可能不适用于桌面应用程序。

存储库设计

顺便说一句,您可能希望了解在应用程序和数据库之间使用接口和实现作为layer of abstraction的方法。这使得切换数据库引擎变得更容易。

例如,您的存储库接口将声明诸如fetchAllCustomers()fetchCustomerForId( UUID id )之类的方法。该接口的一个实现可能是为MySQL构建的,而另一个实现可能是为H2构建的。存储库接口上的代码调用方法对MySQL或H2一无所知。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69431127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档