Java 如何连接到";中环;MySQL数据库,因此我们可以插入和选择,而无需在源代码中使用root和密码

Java 如何连接到";中环;MySQL数据库,因此我们可以插入和选择,而无需在源代码中使用root和密码,java,mysql,sql,webserver,Java,Mysql,Sql,Webserver,我有一个中央SQL server,可以通过PHP插入和选择。然而,我已经构建了一个Java应用程序,我希望它能够插入和选择SQL表中的内容,我已经在web服务器上托管了这个SQL表 我该怎么做呢?我真的不想在源代码中使用JDBC的根密码,因为即使它混淆了,它也可以很容易地被删除,然后用户可以直接访问数据库 有人对我说我应该使用API,但我不知道这样做如何才能与数据库交互。如果您已经有一个PHP应用程序运行服务器端来处理数据库交互;我建议如果你需要的话,就让它来处理 用PHP编写一个API,处理所

我有一个中央SQL server,可以通过PHP插入和选择。然而,我已经构建了一个Java应用程序,我希望它能够插入和选择SQL表中的内容,我已经在web服务器上托管了这个SQL表

我该怎么做呢?我真的不想在源代码中使用JDBC的根密码,因为即使它混淆了,它也可以很容易地被删除,然后用户可以直接访问数据库


有人对我说我应该使用API,但我不知道这样做如何才能与数据库交互。

如果您已经有一个PHP应用程序运行服务器端来处理数据库交互;我建议如果你需要的话,就让它来处理

用PHP编写一个API,处理所有数据库交互,并从java应用程序向该API发送请求。(我可能会让用户创建一个授权令牌来传递给API,这样您就可以跟踪谁在使用您的API并限制访问)

然后,应用程序可以向PHP发送HTTP(s)POST/GET/etc请求,然后PHP将处理数据库交互并返回结果。您的数据库用户名和密码将保留在服务器上,您的应用程序不需要知道它们


如果您不想依赖后端服务,并且希望客户端应用程序直接与数据库交互。。。您可能需要在代码中包含用户名和密码。但是我会在数据库中创建一个单独的用户,该用户的可访问性有限,可以在您怀疑滥用时删除。

您可以创建一个具有特定权限的新用户,以便与Java一起使用。您不需要api。当然,您可以使用php编写api,这样您的应用程序和其他(可能的)应用程序就可以与之交互以操纵数据库。它们是不同的方法。将配置外部化。通过CD管道将其装载到部署中。例如,如果您部署到Kubernetes/OpenShift,请使用。您的PHP如何连接到数据库?密码存储在哪里?为什么你没有同样的担心呢?@PatrickQ在Java中,我必须在源代码中写入root和密码,在反编译应用程序时可以查看这些代码。但是PHP是服务器上的后端,因此无法查看。请不要建议他们尝试直接从前端连接到DB(他们现在可以如何做到这一点)。这将是一个巨大的安全问题,无论用户是否不同,因为任何用户都可以插入他们想要的数据或更新当前数据,从而完全搞乱数据库。