我正在制作一个JavaFX应用程序(租赁管理软件),并使用MySQL数据库。
我想知道如何让我的应用程序在朋友或客户的PC上工作,因为数据库在我的PC上?有没有办法在他们的PC上配置数据库,而不需要他们做所有的MySQL安装过程,因为他们不适合PC,让客户设置我想使用的本地数据库是不可靠的?
发布于 2021-10-04 07:38:38
服务器与嵌入式
有两种数据库引擎:
有些数据库产品可以以这两种方式运行。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一无所知。
https://stackoverflow.com/questions/69431127
复制相似问题