使用Tomcat数据源访问MySQL数据库

本文介绍了如何在Tomcat服务器中配置数据源以访问MySQL数据库,强调了使用JNDI进行数据库访问的优势,包括解耦配置和提高效率。详细步骤包括在Tomcat的`context.xml`中添加数据源配置,以及在Web应用的`web.xml`中引用这些数据源。示例代码展示了如何通过JNDI获取并关闭数据库连接,从而实现应用与数据库的交互。

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

   使用Tomcat作为Web服务器,Tomcat中可以配置一个数据源,然后只要使用JNDIThe Java Naming and Directory Interface)访问该数据源即可访问数据库。

 

   使用JNDI访问数据库的好处是开发者不用关心数据库的相关配置,数据库的配置由应用服务器来管理,大部分应用服务器都提高了数据库连接池的功能,可以极大的提高数据库的访问效率。

 

   Tomcat中配置数据源,需要在TomcatTomcat 6.0版本)安装目录下的/conf/context.xml配置文件中增加如下配置:

    <Context useNaming="true">

    <!-- Default set of monitored resources -->

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->

    <!--

    <Manager pathname="" />

    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events

         on session expiration as well as webapp lifecycle) -->

    <!--

    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />

    -->

 

     <Resource name="jdbc/bookOnline" auth="Container"

             type="javax.sql.DataSource"

             maxActive="100"

             maxIdle="30"

             maxWait="10000"

             username="root"

             password="1226"

             driverClassName="com.mysql.jdbc.Driver"

             url="jdbc:mysql://127.0.0.1:3306/bookOnline" />

 

     <Resource name="jdbc/bbsdb" auth="Container"

             type="javax.sql.DataSource"

             maxActive="100"

             maxIdle="30"

             maxWait="10000"

             username="root"

             password="1226"

             driverClassName="com.mysql.jdbc.Driver"

             url="jdbc:mysql://127.0.0.1:3306/bbsdb" />   

 

</Context>

 

 同时在Web应用的web.xml文件中增加上述的数据源引用,这样该Web应用就可以使用Tomcat配置的数据源了,其增加的内容如下:

 <resource-ref>

    <description>DB Connection</description>

    <res-ref-name>jdbc/bookOnline</res-ref-name>

    <res-type>javax.sql.DataSource</res-type>

    <res-auth>Container</res-auth>

 </resource-ref>

 

 

使用数据源连接的代码:

  private static  DataSource ds=null;

private static  Connection con=null;

public static Connection getCon_dataSource(){

           try{

                  InitialContext ctx=new InitialContext();

                  //该处的数据库bookOnline是前文数据源配置里的数据库

               ds=(DataSource)ctx.lookup("java:comp/env/jdbc/bookOnline");

                  con=ds.getConnection();

                  return con;

           }

           catch(Exception e){

                  System.out.println("数据库连接异常:"+e.getMessage());

                     return null;

           }

    }

   

    //关闭数据库连接

    public void closeCon(){

           try{

                  con.close();

           }

           catch(Exception e){

                  System.out.println("数据库连接关闭异常:"+e.getMessage());

           }

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值