zoukankan      html  css  js  c++  java
  • java数据库连接池的介绍与定义一个简单的连接池

     java数据库连接池的介绍与定义一个简单的连接池

      何为连接池

          java通过JDBC来操作数据库,我们通常将jdbc的重复代码封装到一个DBUtil工具类中来使用,但这样的话由于每次操作数据库都需要建立连接和释放连接,将会造成大量的资源消耗,当Web应用同时有大量的用户进行访问时,这将是一个非常严重的问题

          所以,为了减少性能上的开销,推出了连接池的概念,即,将与数据库的连接放入一个容器,当程序需要使用连接时向容器申请而不是向数据库建立连接,释放时也是将连接放回到容器中,而不是关闭连接,其实java中还有一些地方也有 “池” 的概念,如常量池、线程池,都是为了提高程序运行的效率,有兴趣的可以了解下。

      如何自定义一个连接池

        java提供一个接口Java.sql.DataSource,用于用户自行定义一个连接池,如果我们想要自定义一个连接池,那么就可以实现这个接口,废话不多说,直接贴代码

          这里由于我只是做一个简单的连接池用来练手,所以就没有实现Datasource接口,只提供了获取连接和放回连接的方法。注释有点多,所以可能代码看起来有点长

          

        

        使用连接池的话可以直接在原有DBUtil中修改获取连接和释放资源的就可以了

      

    总结一下 :

      连接池就是用来减少应用程序与数据库进行连接与断开连接的次数以达到提高程序执行效率的一个办法,本次写的自定义连接池还有很多的缺点,仅用于初学参考,

    本来想将使用目前常用的连接池的代码也截图出来了,不过似乎有点长,所以再单独开一个 "房间" 了

    对本文章有什么疑惑或本文有所错误,请在文章下方进行评论,

  • 相关阅读:
    170516、ActiveMQ 的安装与使用(单节点)
    170515、mybatis批量操作
    170512、java日志文件log4j.properties配置详解
    170511、Spring IOC和AOP 原理彻底搞懂
    170510、数据库默认隔离级别
    170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法
    170508、忘记jenkins密码或者修改jenkins密码
    170505、MySQL的or/in/union与索引优化
    170504、MongoDB和MySQL对比(译)
    Jenkins Android 打包
  • 原文地址:https://www.cnblogs.com/tzpRoomForLearning/p/7700066.html
Copyright © 2011-2022 走看看