位置:首页 > 综合教程 > MyEclipse安装配置MySQL数据库连接池教程

MyEclipse安装配置MySQL数据库连接池教程

时间:2026-06-30  |  作者:电竞小硕  |  阅读:0

先说结论:要在MyEclipse中为Java Web项目启用真正的数据库连接池,就必须绕过IDE内置的Database Explorer。那东西只支持单连接测试,压根不是连接池。

整个问题的关键,还是要回到Tomcat运行时环境本身。只有在这里配置JNDI数据源,每次getConnection()才能从池子里拿连接,而不是新建一个物理连接。

很多朋友会困惑:“为什么我在IDE里配了连接池,项目跑起来还是没效果?”原因就在这儿。

下面我们来拆解具体操作。

准备MySQL JDBC驱动包

下载对应版本的驱动

首先,下载对应你MySQL版本的JDBC驱动:

  • MySQL 8+ 用 mysql-connector-java-8.0.33.jar
  • MySQL 5.7及以下 用 5.1.49.jar

注意:别拿旧版的5.1.24凑合——它对JDK 11以上不兼容,还缺SSL握手修复,跑起来容易出怪问题。

复制jar包到两个关键位置

下载完后,把jar包复制到两个地方:WEB-INF/lib 和 Tomcat安装目录/lib。这两个位置缺一不可。

  • 前者是给项目编译时识别驱动用的。
  • 后者是让Tomcat容器在运行时能加载驱动类。

很多新手只放了一个地方,结果编译通过但运行时报错“找不到驱动”,原因就在这儿。

配置项目编译路径

接下来,在项目上右键 → Properties → Java Build Path → Libraries → Add External JARs,选中刚才放到WEB-INF/lib里的jar包,然后Apply。这样项目的编译路径就对了。

配置context.xml声明JNDI资源

创建context.xml文件

在项目的 WebContent/META-INF 目录下,新建一个 context.xml 文件。如果META-INF文件夹没有,就手动创建。

写入资源配置

写入以下内容——注意把其中的数据库地址、用户名、密码替换成你自己的真实参数:



  

关键点解析

这里有几个关键点:

  • name="jdbc/myapp" 中的前缀 jdbc/ 是必须带的。不然后面在Servlet里用lookup查找时会直接抛出NameNotFoundException。
  • URL参数:如果你用的是MySQL 8+,useSSL=false和serverTimezone是必需项。漏掉任何一个,都会出现连接超时的异常。

在web.xml中声明资源引用

打开 WebContent/WEB-INF/web.xml,在标签内的末尾处插入以下代码:


  MySQL Connection Pool
  jdbc/myapp
  javax.sql.DataSource
  Container

这一步相当于告诉Tomcat容器:“我要引用一个叫jdbc/myapp的资源”。

注意:的值,必须和刚才context.xml里name属性的值完全一致——包括大小写和斜杠方向,一个字母都不能错。这中间出了错,后面查找时就找不到。

编写Servlet验证连接池可用性

创建Servlet类

在src目录下新建一个包(比如 com.test.db),然后创建一个 DbTestServlet.java:

public class DbTestServlet extends HttpServlet {
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    try {
      Context ctx = new InitialContext();
      DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/myapp");
      Connection conn = ds.getConnection();
      resp.getWriter().println(" 连接池获取连接成功!");
      conn.close(); // 注意:这里是归还到连接池,不是销毁连接
    } catch (Exception e) {
      resp.getWriter().println(" " + e.getMessage());
    }
  }
}

核心代码说明

代码的核心是 ctx.lookup("java:comp/env/jdbc/myapp") 这一行。这里的查找路径是固定格式:java:comp/env/ 加上你在context.xml里定义的资源名称。

连接获取成功后,记得调用 conn.close()。但这个“关闭”其实只是把连接归还到连接池里,而不是真正销毁。

部署验证

部署项目到Tomcat,然后访问 http://localhost:8080/your_project_name/DbTestServlet。如果页面上显示绿色的,就说明连接池配置成功,可以正常工作了。

这个时候你去看Tomcat的控制台日志,会发现第一次请求时出现了“Initializing Spring root WebApplicationContext”之类的提示——这说明容器已经加载了JNDI资源,连接池正在背后高效运行。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多