连接池_jp(完整)

1.连接池
     概念:就是事先取得一定数量的Connection,程序执行处理的时候不是新建Connection,而是取得预先准备好的Connection的使用权。
 
2、DataSource
    提供连接池机能的技术叫DataSource。Javax.sql.DataSource包。 一般web服务器会提供。比如Tomcat5.5。DataSource可以通过new来取得,但通常是通过 JNDI 用 lookup 取得。
 
3、JNDI (Java Naming and Directory Interface,Java 命名和目录服务接口)
   命名服务: 可以类比为Session属性的Map的高级版。实现指定名字对象的取得和登录。一般Web服务器会提供。在命名服务里登录的对象,可以用lookup()取得。
   目录服务: 和命名服务类似,但是对象的管理是层次性的。
 
4、基于Tomcat利用DataSource
 1)JDBC驱动配置
   直接利用JDBC编程的话,JDBC驱动放在Web app的WEB-INF/lib下就可以了。
   利用DataSource的话,JDBC需要放在app服务器的类目录下:<Tomcat安装目录>/lib
 
 2)修改context.xml文件
   在Tomcat登录DataSource有很多办法,在context.xml里追加<Resource>是最简单的。
   文件: <Tomcat安装目录>/conf/context.xml和eclipse中server中的context.xml文件也需要修改,不然就会还原。
    内容:
  <Resource name="jdbc/myds"  auth="Container"   type="javax.sql.DataSource"    username="briup"    password="briup"
            driverClassName="oracle.jdbc.driver.OracleDriver"   url="jdbc:oracle:thin:@127.0.0.1:1521:XE"
            maxActive="20"    maxIdle="20"/>
  注意:
name:表示你的连接池的名称也就是你要访问连接池的地址
auth:是连接池管理权属性, Container表示容器管理
type:是对象的类型
driverClassName:是数据库驱动的名称
url:是数据库的地址
username:是登陆数据库的用户名
password:是登陆数据库的密码
一般把maxActive设置成可能的并发量就行了
maxActive、maxIdle和maxWait参数:
maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连接。
maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。
MaxWait是指定数据库连接池中的数据库连接处于空闲状态的最长时间(以毫秒为单位)。超过这一时间将会抛出异常,取值为-1,表示可以无限制等待,直到超时为止,也可取值9000,表示9秒后超时。

 3)使用DataSource
    例子:
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
         **********
 
         try{
                InitialContext ctx = new InitialContext();
                DataSource ds = (DataSource)ctx.lookup("java:comp/env/名字");
                Connection con = ds.getConnection();
 
                *******
 
         }catch(Exception e){
                throw new ServletException(e);
         }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值