MyEclipse怎样配置数据库连接池与数据源【数据】

雪夜

雪夜

2026-06-29

527人浏览

原创

myeclipse配置数据库连接池本质是利用tomcat的jndi机制在容器层面统一管理连接,核心三步:放驱动(项目web-inf/lib和tomcat/lib双路径)、写meta-inf/context.xml定义datasource资源、在web.xml中声明resource-ref;代码通过initialcontext.lookup("java:comp/env/jdbc/mydb")获取datasource,调用conn.close()归还连接而非关闭。

myeclipse怎样配置数据库连接池与数据源【数据】

MyEclipse 配置数据库连接池,本质是借助 Tomcat 容器的 JNDI 机制,在应用服务器层面统一管理数据库连接,避免每次请求都新建/关闭连接。核心在于三步:放驱动、写 context.xml、声明 resource-ref。不依赖代码加载驱动,也不用 DriverManager,而是通过 JNDI 查找 DataSource。

把 JDBC 驱动 JAR 放对位置

驱动包(如 mysql-connector-java-8.0.33.jar 或适配你 MySQL 版本的 jar)必须放在两个地方:

  • 项目 WEB-INF/lib 目录下:确保编译期和运行时类路径可访问;
  • Tomcat 的 lib 目录下(例如 tomcat/lib):因为 connection pool 由容器管理,Tomcat 启动时需能加载驱动类;

仅放项目里会导致 JNDI 查找失败(常见报错:ClassNotFoundException: com.mysql.cj.jdbc.Driver)。

在 META-INF/context.xml 中定义连接池

在 Web 项目的 WebContent/META-INF/context.xml(若无此目录则手动创建)中写入如下配置(以 MySQL 为例):

<?xml version="1.0" encoding="UTF-8"?><context><resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" driverclassname="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf8" username="root" password="123456" maxactive="20" maxidle="10" minidle="5" initialsize="5" maxwait="10000" validationquery="SELECT 1" testonborrow="true" removeabandonedonborrow="true" logabandonedonborrow="true"></resource></context>

注意关键点:

PS CS6绿色精简版
PS CS6绿色精简版

最好用的图像处理软件

下载
  • name="jdbc/mydb" 是 JNDI 名,后续 lookup 时用 java:comp/env/jdbc/mydb
  • factory 推荐显式指定 Tomcat 自带的连接池工厂(比旧版 BasicDataSourceFactory 更稳定);
  • url 参数要完整:MySQL 8+ 必须含 serverTimezoneuseSSL=false(或配证书),否则连接拒绝;
  • validationQuery + testOnBorrow 可自动剔除失效连接,防止“Connection closed”异常。

在 web.xml 中声明资源引用

WebContent/WEB-INF/web.xml<web-app></web-app> 内末尾添加:

<resource-ref><description>MySQL DataSource</description><res-ref-name>jdbc/mydb</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>

这一步告诉容器:“本应用要用名为 jdbc/mydb 的容器托管数据源”,缺了它,JNDI lookup 会抛 NameNotFoundException

Java 代码中获取连接(Servlet/JSP 示例)

不再用 Class.forName()DriverManager.getConnection(),改用标准 JNDI 方式:

try {
  Context initCtx = new InitialContext();
  Context envCtx = (Context) initCtx.lookup("java:comp/env");
  DataSource ds = (DataSource) envCtx.lookup("jdbc/mydb");
  Connection conn = ds.getConnection();
  // 执行查询或更新...
  conn.close(); // 归还连接到池,不是真正关闭
} catch (NamingException | SQLException e) {
  e.printStackTrace();
}

调用 conn.close() 不会断开物理连接,而是将连接对象返还给池,下次可复用——这是连接池高效的关键。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

eclipse myeclipse

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
MyEclipse工具使用教程
MyEclipse工具使用教程

PHP中文网推出MyEclipse开发工具完整使用教程专区,涵盖从安装配置、项目创建到代码调试与部署的全流程指南。无论是Java EE企业级开发还是PHP项目实战,这里提供一站式学习资源,助您快速掌握这款强大IDE,提升开发效率!

2026.06.26

55

21

MyEclipse使用问题解决方法大全
MyEclipse使用问题解决方法大全

PHP中文网MyEclipse专区,汇集启动报错、运行卡顿、数据库连接失败等常见开发难题。提供代码提示失效、中文乱码、内存溢出等问题的权威解决方案与优化技巧,助您快速排查故障,提升Java EE开发效率!

2026.06.26

26

16

MyEclipse安装教程与配置指南
MyEclipse安装教程与配置指南

PHP中文网MyEclipse专区提供全版本安装教程与配置指南,涵盖从环境搭建到插件扩展的完整流程。无论是新手入门还是进阶开发,都能在此获取权威、详细的实操指引,助您轻松掌握这款强大的Java EE集成开发环境,高效开启企业级应用开发之旅。

2026.06.26

52

14

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

1281

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

2786

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

1234

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

525

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1290

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

1288

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

零基础精通 PS 视频教程
零基础精通 PS 视频教程

共268课时 | 115.4万人学习

前端工程师必备技能—PS切图
前端工程师必备技能—PS切图

共11课时 | 2.1万人学习