使用JNDI的方式配置c3p0连接池 tomcat

本文介绍了如何通过JNDI实现数据库配置与Java代码的分离,使得开发者可以在不修改Java代码的情况下轻松更换数据库。文中详细展示了在Tomcat环境下配置JNDI的方法及Java代码中的调用示例。

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

为什么要使用JNDI呢?
我也不太懂,但是我知道一点好处,其实是为了好管理和切换数据库,数据库层与java代码分离,随你换什么数据库都可以的,而不用更改任何一行java代码,改一下配置文件就可以切换其他的数据库

文件配置路径是tomcat安装目录下的conf\Catalina\localhost
我的是D:\Software\apache-tomcat-9.0.8\conf\Catalina\localhost
下新建一个项目名.xml,相当于发布一个项目一样,在Context里面配置Resource

<Context reloadable="true" >
    <Resource 
        name="jdbc/mydql"<!--资源名,随便取,获取这个资源时需要-->
        type="com.mchange.v2.c3p0.ComboPooledDataSource"<!--c3p0连接池DataSource,随框架而改变-->
        factory="org.apache.naming.factory.BeanFactory"<!--这个是定死的,就是它-->
        <!--其他参数随你使用的连接池模块而改变,如dbcp的是url等-->
        driverClass="com.mysql.cj.jdbc.Driver"
        jdbcUrl="jdbc:mysql://localhost:3306/mydb3?useSSL=false&amp;serverTimezone=GMT-8&amp;rewriteBatchedStatements=true"
        user="root"
        password="123"
    />
</Context>

java代码中使用

    InitialContext context = new InitialContext();
    DataSource ds=(DataSource) context.lookup("java:comp/env/jdbc/mydql");//java:comp/env/写死的+你配置时name的值jdbc/mydql
    Connection con = ds.getConnection();
    System.out.println(con);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值