jdbc 连接池 and 数据源笔记

    xiaoxiao2021-03-25  50

       1、连接池是容器提供的 , 用来管理连接池中的对象;

    连接池会一直保持与服务器之间的联系,当应用程序发出请求后到达池子,池子自动分配连接对象,并对空闲的连接对象回收;

       2、连接池的对象是谁创建的?

    connection?

    数据源:在javax . sql . DataSource 接口负责建立与数据库的连接

    由容器(tomcat)提供,将连接保存在连接池中

    注意: @1:数据源用来连接数据库,获得连接(Connection)对象;       从数据源中找连接

         @2:连接池来管理(Connection)对象;通过数据源创建好的连接对象放在连接池   一个自动的过程

         @3:在程序中使用JNDI获取目标;通过JNDI (Java命名目录与接口)获得接口  获得数据源

      3、数据源配置:

    配置tomcat的数据源    conf / context . xml 

    代码固定 :

    < Resource   name = " jdbc / news "   

    auth = " Container "                  归属 tomcat

           type  = " javax . sql . DataSource  "       类型

            maxActive = "   100  "       最大活跃连接数量

    maxIdle    = " 30 "最大空闲连接数    在没有数据库连接时 ,仍然保持30 个数据库的连接对象;

    maxWait  =  " 10000 "       如果数值是  -1    则是无线期等待的意思;     单位时毫秒:

    userName = " root "        passWord  = "root "

    driverClassName = " com.mysql.jdbc.Driver "  驱动

    url = " "  />

       4、 通过数据源获取连接: 

    注:  使用JNDI获取连接对象时 , 在lookup  ()  参数里要加上 固定的    :    Java:comp / env /          类似一个协议的名字 ; 

    public Connection  getConnectionDS(){

    //初始化上下文;

    \ Context     ctx   =   new  InitialContext () :

    DataResource   ds = (DataResource   )ctx  .   lookup ( " Java:comp / env /  jdbc / news  " )  ;

    connection = ds. getConnection ;

    return    Connection ;    }

      

    转载请注明原文地址: https://ju.6miu.com/read-40872.html

    最新回复(0)