当前位置: 首页 > news >正文

随州市网站建设_网站建设公司_内容更新_seo优化

外国人讲汉语做网站的视频,深圳app开发合作,wordpress的目录结构(一),网页设计制作表格的步骤数据库连接池是什么#xff1f;为什么使用连接池#xff1f; 当使用jdbc去操作数据库时#xff0c;需要先获取连接#xff0c;然后进行具体的数据库操作#xff0c;最后释放连接。这一系列操作在演示一个demo时还可以使用#xff0c;但是当访问数据库次数多了的时候为什么使用连接池 当使用jdbc去操作数据库时需要先获取连接然后进行具体的数据库操作最后释放连接。这一系列操作在演示一个demo时还可以使用但是当访问数据库次数多了的时候就会显得很繁琐除此之外还容易造成内存泄漏、数据库崩溃等复杂问题。所以为了解决这一问题就出现了数据库连接池顾名思义就是使用一个盛有数据库连接的池子来管理数据库连接连接池负责分配、管理和释放数据库连接可以控制数据库连接的个数其基本思想就是预先将一定数量的数据库连接放到一个池子中所谓的池子就是一块缓冲区当使用连接时直接去连接池中获取即可用完再放回到池子中这样直接从内存中获取而不需要重复操作数据库提高了效率和性能。 怎么使用连接池 java中提供了数据库连接池对应的接口javax.sql.DataSource对连接的管理都通过此接口对象实现一般需要第三方实现或者服务器提供实现这里介绍三种第三方提供的连接池分别是dbcp、c3p0、druid。连接池通常也被成为数据源包含连接池和连接池管理两部分接下来详细介绍一下怎么使用这三种连接池。 dbcp 首先需要添加第三方连接池的jar包 commons-dbcp2-2.3.0.jar、commons-logging-1.2.jar、commons-pool2-2.5.0.jar 因为使用连接池管理连接所以需要创建一个dbcp.properties用来配置连接数据库的信息使用org.apache.commons.dbcp2.BasicDataSourceFactory工厂类来创建一个数据源然后使用提供的Datasource实现类org.apache.commons.dbcp2.BasicDataSource来获取对应的连接即可。在配置dbcp.properties时一定要注意键的名称必须和BasicDataSource类中定义的成员变量名称一致否则报错。实例代码如下 //--------------------------dbcp.properties---------------------// drivercom.mysql.jdbc.Driver #jdbc:database://host:port/dbName urljdbc:mysql://127.0.0.1:3306/fqx_webapp usernameroot password123456 #这里只配置一下maxTotal参数作为实例说明可以通过配置dbcp的参数来预定义连接池的各个属性参数可以参照org.apache.commons.dbcp2.BasicDataSource类中的成员变量 maxTotal16//--------------------------代码实现----------------------------// public static void main(String[] args) {Properties properties new Properties();InputStream inStream ConnectionPoolTest.class.getClassLoader().getResourceAsStream(dbcp.properties);// BasicDataSource类是dbcp提供的类实现了javax.sql.DataSource接口BasicDataSource basicDataSource null;try {properties.load(inStream);basicDataSource BasicDataSourceFactory.createDataSource(properties);System.out.println(basicDataSource);//可以获取和修改连接池的配置参数System.out.println(basicDataSource.getMaxTotal());//通过连接池获取连接用完无需释放Connection connection basicDataSource.getConnection();PreparedStatement prepareStatement connection.prepareStatement(SELECT * FROM USER WHERE ID 1);ResultSet executeQuery prepareStatement.executeQuery();while(executeQuery.next()){System.out.println(executeQuery.getInt(1)--executeQuery.getString(2));}} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} } c3p0 首先需要添加第三方jar包 c3p0-0.9.5.3.jar、mchange-commons-java-0.2.15.jar 需要创建一个c3p0-config.xml用来配置连接数据库的信息然后使用提供的Datasource实现类com.mchange.v2.c3p0.ComboPooledDataSource来获取对应的连接池即可。 配置文件配置如下 ?xml version1.0 encodingUTF-8 ? c3p0-configdefault-configproperty namejdbcUrljdbc:mysql://127.0.0.1:3306/fqx_webapp/propertyproperty namedriverClasscom.mysql.jdbc.Driver/propertyproperty nameuserroot/propertyproperty namepassword123456/propertyproperty nameacquireIncrement5/propertyproperty nameinitialPoolSize30/propertyproperty namemaxPoolSize30/propertyproperty nameminPoolSize1/property/default-config /c3p0-config 实现代码如下 public static void main(String[] args) {try {//获取数据源对象ComboPooledDataSource dataSource new ComboPooledDataSource(c3p0-config.xml);Connection connection;//通过数据源获取连接connection dataSource.getConnection();System.out.println(connection);PreparedStatement prepareStatement connection.prepareStatement(SELECT * FROM USER WHERE ID 1);ResultSet executeQuery prepareStatement.executeQuery();while(executeQuery.next()){System.out.println(executeQuery.getInt(1)--executeQuery.getString(2));}} catch (SQLException e) {e.printStackTrace();} } 可通过c3p0 api 网址 https://www.mchange.com/projects/c3p0 进一步了解c3p0. 当连接获取失败时c3p0具有重连机制这一点比较诱人。 druid 首先需要添加第三方jar包druid-1.1.10.jar 需要创建一个druid.properties用来配置连接数据库的信息使用com.alibaba.druid.pool.DruidDataSourceFactory工厂类来创建一个数据源然后使用提供的Datasource实现类com.alibaba.druid.pool.DruidDataSource来获取对应的连接即可。在配置druid.properties时一定要注意键的名称必须和com.alibaba.druid.pool.DruidDataSourceFactory类中对应的常量值一致。实例代码如下 //-------------druid.properties--------------------// druid.driverClassNamecom.mysql.jdbc.Driver druid.urljdbc:mysql://127.0.0.1:3306/fqx_webapp druid.usernameroot druid.password123456//--------------实现代码----------------------// public static void main(String[] args) {try {Properties properties new Properties();InputStream inStream ConnectionPoolTest.class.getClassLoader().getResourceAsStream(druid.properties);properties.load(inStream);//获取数据源对象DataSource dataSource DruidDataSourceFactory.createDataSource(properties);Connection connection;//通过数据源获取连接connection dataSource.getConnection();System.out.println(druid--connection);PreparedStatement prepareStatement connection.prepareStatement(SELECT * FROM USER WHERE ID 1);ResultSet executeQuery prepareStatement.executeQuery();while(executeQuery.next()){System.out.println(executeQuery.getInt(1)--executeQuery.getString(2));}} catch (SQLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} } druid集合了众家所长号称是当前最好的数据库连接池对数据库连接和sql的执行可以进行最大程度上的监控这一点比较诱人。
http://www.ihoyoo.com/news/64142.html

相关文章:

  • 开电商网站需要多少钱关键词排名优化易下拉效率
  • 网站建设方案书人员资金安排铁岭网站建设
  • 网站建设培训机构哪里好游戏公司怎么注册
  • 手机购物网站模板阿里云对象存储做静态网站
  • 做网站每天任务及实训过程杭州亚运会网页设计作业
  • 网站建设课程改进建议二级分销小程序
  • 详情页在线设计网站推荐网站域名怎么修改吗
  • wordpress手机版加搜索框广东seo
  • 扁平化设计个人网站华强北是什么意思
  • 怎么做网站的站点地图建设银行官方网站个人
  • 加强网站内容保密建设建设银行上海黄浦支行网站
  • 专业微网站建设网站接电话
  • 视频课程网站建设网络营销是怎么发展的
  • 鞍山做网站或徐州企业建站模板
  • 蓟州农家院如何做网站来年做那些网站致富
  • 微网站模板制作教程wordpress漂亮动漫
  • 做韩国护的网站企业建站电话多少
  • 网站app客户端制作京东商城网站wordpress模板
  • 做展示网站步骤东莞网站建设营销平台的
  • 美食网站怎么做dw如果安装wordpress主题
  • 网站付款链接怎么做不用域名也可以做网站
  • 川菜餐馆网站建设模板美食餐厅企业建站php源码程序哪家做网站
  • 重庆建设厅施工员证书查询网站做fitting的网站
  • 厦门网站建设 九来哪些网站可以找兼职做室内设计
  • 中国十大知名网站提供网站建设教学视频
  • 网站建设实训致谢语京东的电子网站建设
  • 网站建设公司唯美谷seo网络营销技术
  • 零基础网站开发设计山西品牌网站建设
  • WordPress网站关闭插件企业部门网站建设流程
  • 汕尾网站网站建设牛商网招聘