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

为什么要使用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);

猜你喜欢

转载自blog.csdn.net/love20yh/article/details/80822956