gpt4 book ai didi

java - 远程 MySQL DB 和 eclipse

转载 作者:行者123 更新时间:2023-11-29 11:11:02 25 4
gpt4 key购买 nike

我目前正在尝试实现一个必须与我们的数据库通信的简单 servlet。

我之前没有真正的数据库经验,所以我想知道我应该如何解决这个问题?我已经从 dev.mysql 下载了 mysql-connector-java-5.1.40。

查看了网上一些设置连接的说明,似乎只适用于本地mysql,但是远程呢? Remote 的用户名和密码为demo/demo;当然,我还需要使用我的凭据登录远程服务器。我该如何连接到这个远程数据库?

编辑:所以我相信我成功连接到数据库,至少我可以在数据源下的 Eclipse 中看到它并且表格存在(公司和股票价格),但是我的 Eclipse 仍然说我有一个不合适的驱动程序,尽管我确实有一个与之相关的。

最佳答案

在 Web 容器(或应用程序服务器)中使用数据库资源的正确方法是通过 javax.sql.DataSource 抽象。因此,您应该在容器中配置数据源。对于 tomcat 来说,很简单,只需在 war 的 META-INF 文件夹中创建一个名为 context.xml 的文件,其中包含以下内容(将地址和凭据替换为您自己的地址和凭据):

<Context>
<Resource name="jdbc/[YourDatabaseName]"
auth="Container"
type="javax.sql.DataSource"
username="[DatabaseUsername]"
password="[DatabasePassword]"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql:/[yourserver]:3306/[your-db]"
maxActive="20"
maxIdle="20"/>
</Context>

然后当你想执行DB操作时:

  • 您可以查找数据源:

    DataSource ds =(DataSource) new InitialContext().lookup("java:comp/env/jdbc[YourDatabaseName]");

  • 或者简单地对 servlet 等托管组件使用依赖项注入(inject):

    @Resource(name="jdbc/YourDataSource")
    数据源ds;

您只需从数据源获得连接即可执行数据库语句。

数据库驱动程序可以放置在以下两个位置之一:

  • war 的 lib 文件夹
  • tomcat的lib文件夹

建议将其放在 tomcat 的 lib 中,因为驱动程序是单例,如果您在同一个容器中拥有多个具有不同版本驱动程序的应用程序,则会发生不好的情况。

How do I go about connecting to this remote db?

连接到远程数据库与连接到本地数据库相同。只需在连接字符串中传递正确的数据库地址即可。

关于java - 远程 MySQL DB 和 eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40553812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com