mysql jndi 连接数_JNDI与数据库连接池

本文探讨了如何在Java Web应用程序中通过使用JNDI和数据库连接池来优化与MySQL的交互,减少连接创建和销毁的资源消耗。介绍了在Tomcat中配置数据源的过程,包括在`context.xml`和`web.xml`中的设置,如最大连接数、最小连接数和等待时间等参数,并展示了如何通过JNDI查找并使用数据源进行数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在javaweb程序中,最消耗资源的就是与数据库的交互,所以在与数据库交互上有很多方式进行优化

这次说的是通过减少建立连接与销毁连接来优化的连接池。

数据库连接池负责分配、管理和释放连接,让程序重复使用同一个连接,而不是每次都要创建新连接

数据库连接池在初始化时创建一定数量的数据库连接放到连接池中, 这个数量是设定的最小连接数,连接池都将一直保证至少拥有这么多的连接

当程序向连接池请求的连接数超过设置的最大连接数量时,这些请求将被加入到等待队列中.

下列是tomcat的数据源配置,通过JNDI去连接数据源

在tomcat目录中conf/context.xml,我的数据库是mysql8

WEB-INF/web.xml

${catalina.base}/conf/web.xml

username="root" password="123456" driverClassName="com.mysql.cj.jdbc.Driver"

url="jdbc:mysql://localhost:3306/zhangshuo?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"

/>

name:表示以后要查找的名称。通过此名称可以找到DataSource,此名称任意更换,但是程序中最终要查找的就是此名称,

为了不与其他的名称混淆,所以使用jdbc/oracle,现在配置的是一个jdbc的关于oracle的命名服务。

auth:由容器进行授权及管理,指的用户名和密码是否可以在容器上生效

type:此名称所代表的类型,现在为javax.sql.DataSource

maxActive:表示一个数据库在此服务器上所能打开的最大连接数

maxIdle:表示一个数据库在此服务器上维持的最小连接数

maxWait:最大等待时间。10000毫秒

username:数据库连接的用户名

password:数据库连接的密码

driverClassName:数据库连接的驱动程序

url:数据库连接的地址

在项目的web.xml中连接数据源

news DataSource

jdbc/zhangshuo

javax.sql.DataSource

Container

完成以上步骤就可以编写代码了

以前需要实例化的连接对象现在可以用数据源实例化

Context context=new InitialContext();

DateSource ds=()context.lookup("java:comp/env/jdbc/zhangshuo");

Connection con=ds,getConnection();

在连接后就不用关闭连接了,交给连接池管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值