Java和大数据系列

注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hbase Hive Flume等等~写的都是纯干货,各种顶会的论文解读,一起进步。
今天和大家分享一下Java通过DBCP连接池方法实现JDBC代码案例
#博学谷IT学习技术支持#


文章目录

  • Java和大数据系列
  • 前言
  • 一、使用步骤
    • 1.Maven导包
    • 2.定义dbcpconfig.properties文件
    • 3.定义DBCPUtils类
    • 4.定义测试类
  • 总结

前言

Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商需要让自己的连接池实现这个接口。这样应用程序可以方便的切换不同厂商的连接池!
常见的连接池:DBCP、C3P0。
本文介绍DBCP的用法,下一次介绍C3P0的用法。


一、使用步骤

1.Maven导包

        <dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version></dependency>

2.定义dbcpconfig.properties文件

在resources文件中定义一个dbcpconfig.properties文件,把数据库的参数给配进去

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/aaa
username=root
password=12345678

3.定义DBCPUtils类

import org.apache.commons.dbcp.BasicDataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Properties;public class DBCPUtils {//定义一个连接池对象private static DataSource ds;static {try {Properties properties = new Properties();InputStream inputStream =DBCPUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");properties.load(inputStream);//创建连接池ds = BasicDataSourceFactory.createDataSource(properties);} catch (Exception e) {throw new RuntimeException(e);}}//封装一个方法:从连接池获取一个连接public static Connection getConnection() throws SQLException {return ds.getConnection();}//封装一个printResult方法来显示输出结果public static void printResult(ResultSet resultSet){try {ResultSetMetaData metaData = resultSet.getMetaData();int columnCount = metaData.getColumnCount();while (resultSet.next()){for (int i = 1; i <= columnCount; i++) {Object object = resultSet.getObject(i);System.out.print(object + "\t");}System.out.println();}} catch (SQLException e) {throw new RuntimeException(e);}}
}

4.定义测试类

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class demo01 {public static void main(String[] args) throws SQLException {//1:从连接池获取连接Connection connection = DBCPUtils.getConnection();//2:执行sqlPreparedStatement preparedStatement = connection.prepareStatement("select * from employee");ResultSet resultSet = preparedStatement.executeQuery();//3;遍历DBCPUtils.printResult(resultSet);//4:将连接池放回connection.close();}
}

总结

本文主要介绍Java通过DBCP连接池方法实现JDBC代码案例。通过连接池操作jdbc会更高效一点,避免了多次连接。下一次介绍C3P0的用法。

Java通过DBCP连接池方法实现JDBC代码案例相关推荐

  1. java配置dbcp连接池(数据库连接池)示例

    最近一个项目遇到了一个问题,tomcat跑一段时间后,项目就会造成类似死锁状态,所有的servlet都无法访问,造成网络堵塞的现象.我项目中使用的连接池是c3p0,网上有人说是c3p0的bug,不知是 ...

  2. java dbcp_Java dbcp连接池基本使用方法详解

    1.依赖api的使用 导入jar包 org.apache.commons commons-dbcp2 2.7.0 导入dbcp.properties配置文件 获取连接 protected void d ...

  3. java 连接池连接mysql数据库需要哪些jar包_DBCP-基于Java8导入DBCP连接池所需JAR包并编写DBCPUtils工具类...

    上述五个jar包缺一不可 下载解压后,进入解压出的文件夹 将这五个jar包复制出来放入自己创建的myJar文件夹中(myJar文件夹创建与说明) 接下来就可以在工程中进行使用package utils ...

  4. java dbcp连接池_DBCP-基于Java8导入DBCP连接池所需JAR包并编写DBCPUtils工具类

    上述五个jar包缺一不可 下载解压后,进入解压出的文件夹 将这五个jar包复制出来放入自己创建的myJar文件夹中(myJar文件夹创建与说明) 接下来就可以在工程中进行使用package utils ...

  5. basicdatasourcefactory mysql_Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中"获得连接"或"释放资源 ...

  6. java的dbcp使用方法_Java dbcp连接池的使用方法

    Java dbcp连接池的使用方法 发布时间:2020-10-31 00:59:26 来源:亿速云 阅读:89 作者:Leah 这篇文章将为大家详细讲解有关Java dbcp连接池的使用方法,文章内容 ...

  7. Java使用JDBC开发 之 DBCP连接池

    目录 一.连接池概述 1.连接池概念 2.DataSource 接口 二.DBCP连接池 1.导入 jar 包 2.编写工具类并使用 一.连接池概述 在实际开发中,"获得连接"和& ...

  8. java dbcp连接池_Java——DBCP连接池

    连接池 实际开发中"获得连接"或"释放资源"是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection.这样 ...

  9. java中的DBCP连接池

    实际开发中"获得连接"或"释放资源"是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection.这样我们就不 ...

最新文章

  1. java 字符串 基础介绍
  2. what are the associated papers accepted at the Harvard business review from cambridge
  3. RoBERTa中文预训练模型:RoBERTa for Chinese
  4. boost::hana::detail::create用法的测试程序
  5. linux 应用网络连接失败的原因,PuTTY网络错误:软件导致连接中止
  6. SendMessage 设置TMemo组件的边界
  7. 21天Jenkins打卡Day14-maven服务
  8. app4788usvod3html,ROBOHAND RPLC-3
  9. 5W2H | 关于写博客的七点反思
  10. 记一个函数定义中,形参是空列表时要注意的问题
  11. 人大金仓数据库软件下载
  12. 哈尔·埃尔罗德《早起的奇迹》读书笔记
  13. Java服务端支付功能模块--(一)支付宝支付
  14. 20_java使用谷歌邮箱发送邮件
  15. flask蓝图buleprint使用
  16. Vuex仿饿了么购物车功能
  17. word如何批量更改公式字体
  18. 网络图片url转换成base64
  19. winxpnbsp;sp3
  20. 每次访问某个界面,展示欢迎回来,并展示上次访问时间

热门文章

  1. ECU 自动化生产测试系统
  2. IE 兼容模式下 contentEditable 无法取值
  3. uni-app - 节流与防抖(按钮节流、输入框防抖解决方案)
  4. RV1126_python人脸识别Retinaface+MobilefaceNet
  5. 2021-06-20 Ai3D筛子
  6. 找出TCGA中的配对样本并正确展示数据
  7. arcgis与python的结合_结合GIS与Python,爬取百度商业POI
  8. FreeXFrameWork简介
  9. 图片裁剪-cropperjs详解
  10. 【python-scipy】scipy.cluster.hierarchy 学习 总结 (fcluster, linkage等)