zoukankan      html  css  js  c++  java
  • jsp-MySQL连接池

    1.将数据库驱动程序的JAR文件放在Tomcat common/lib 中;

    mysql-connector-java-5.1.18-bin.jar

    下载地址:https://yunpan.cn/cjfbA6WIIIXIc  访问密码 fe3e

     

    2.修改Tomcat,conf/server.xml文件,增加数据源配置节。

    a9b617c8-a231-42fb-828b-9e17047b1f6d

    MySQL数据库为例,如下:

    <GlobalNamingResources> </GlobalNamingResources>节点中加入,

        <!--数据库连接池

          参考地址:http://hi.baidu.com/lzqxiaoqiang09/item/b70a983b15a6a5c1392ffa99

          password    数据库用户密码;

          driveClassName,数据库驱动;

          maxIdle     最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。

          MaxActive   连接池的最大数据库连接数。设为0表示无限制。

          maxWait     最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示

        -->

        <Resource

          name="MySqlDBPool"

          type="javax.sql.DataSource"

          password=""

          driverClassName="com.mysql.jdbc.Driver"

          maxIdle="2"

          maxWait="5000"

          username="root"

          maxActive="5"

          url="jdbc:mysql://127.0.0.1:3306/ultrax?user=root&amp;characterEncoding=UTF-8"

          />

    属性

    name,数据源名称,通常取”jdbc/XXX”的格式;

    type,”javax.sql.DataSource;

    password,数据库用户密码;

    driveClassName,数据库驱动;

    maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。

    MaxActive,连接池的最大数据库连接数。设为0表示无限制。

    maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。

     

    3.在你的web应用程序的web.xml中设置数据源参考,如下:

    febee467-4b4b-4456-b69c-89f94ea2d2af

     

    <web-app></web-app>节点中加入,

      <!--数据库连接池配置-->

      <resource-ref>

        <description>MySQL DB Connection Pool</description>

        <res-ref-name>MySqlDBPool</res-ref-name>

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

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

        <res-sharing-scope>Shareable</res-sharing-scope>

      </resource-ref>

    子节点说明:

    description,描述信息;

    res-ref-name,参考数据源名字,同上一步的属性name

    res-type,资源类型,”javax.sql.DataSource”;

    res-auth,”Container”;

    res-sharing-scope,”Shareable”;

     

    4.修改Tomcat,conf目录下的context.xml文件,增加数据源链接。

    4f63b2ef-568c-410a-83c0-41e12fbe65f0

     

    <Context></Context>节点中加入,

      <!--数据库连接池配置-->

      <ResourceLink name="MySqlDBPool" type="javax.sql.DataSource" global="MySqlDBPool"/>

    属性:

    name,同第2步和第3步的属性name值,和子节点res-ref-name值;

    type,同样取”javax.sql.DataSource”;

    global,同name值。

     

    至此,设置完成,下面是如何使用数据库连接池。

    1.建立一个连接池类,DBPool.java,用来创建连接池,代码如下:

    package Xproer;

     

    import java.sql.Connection;

    import java.sql.SQLException;

    import javax.naming.Context;

    import javax.naming.InitialContext;

    import javax.naming.NamingException;

    import javax.sql.DataSource;

     

    /*

     * MySQL连接池

     * 参考:http://www.cnblogs.com/xproer/p/5412640.html

     * 说明:

     * Tomcat中需要配置下面的文件

     *      conf/context.xml

     *      conf/server.xml

     * 使用方法:

     * Connection con = DbPool.getCon()

     * ........

     * .......

     * con.close();//回收连接

     * */

    public class DbPool

    {

        public DbPool(){}

       

        static String m_poolName = "MySqlDBPool";//数据库连接池名称

        private static DataSource pool;

        static

        {

            Context env = null;

            try

            {

                env = (Context) new InitialContext().lookup("java:comp/env");

                pool = (DataSource)env.lookup(m_poolName);

                if(pool == null)

                System.err.println("'DBPool' is an unknown DataSource");

            }

            catch(NamingException ne)

            {

                ne.printStackTrace();

            }

        }

     

        public static Connection getCon() throws SQLException

        {

            return pool.getConnection();

        }

    }

     

    5.在要用到数据库操作的类或jsp页面中,用DBPool.getCon(),获得一个Connection对象,就可以进行数据库操作,最后别忘了对Connection对象调用close()方法,注意:这里不会关闭这个Connection,而是将这个Connection放回数据库连接池。

  • 相关阅读:
    基于springcloud框架搭建项目-Eureka篇(一)
    springcloud项目实现自定义权限注解进行接口权限验证
    基于JWT实现token验证
    前端${}失效
    String常见的方法有哪些?
    Json转化的三种方式
    字符串、bute[]数组和十六进制字符串的相互转换
    Sql Server2008温故而知新系列05:查询-基础查询和条件查询
    Sql Server2008温故而知新系列04:数据增删改查之"改"
    Sql Server2008温故而知新系列03:数据增删改查之"删"
  • 原文地址:https://www.cnblogs.com/xproer/p/5412640.html
Copyright © 2011-2022 走看看