需要的jar包有 commons-dbutils , commons-dbcp , commons-pool , mysql-connector-java

本地database.propertties 配置为

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/mydatabase?useUnicode=true&characterEncoding=GBK
username=root
password=***

该文件创建在src根目录下

首先做一个DBCP工具类

 package JDBCDemo;

 import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; import javax.activation.DataSource; import org.apache.commons.dbcp.BasicDataSource; public class DBCPUtils {
private DBCPUtils() {};
private static BasicDataSource dbs = new BasicDataSource();
private static String className="";
private static String sqlUrl="";
private static String sqlUser="";
private static String sqlPassword="";
static {
initConfig();
//设置基本信息
dbs.setDriverClassName(className);
dbs.setUrl(sqlUrl);
dbs.setUsername(sqlUser);
dbs.setPassword(sqlPassword);
//对连接池控制数--可不配
dbs.setInitialSize(10); //连接池初始化连接数
dbs.setMaxActive(8); //最大链接数量
dbs.setMaxIdle(5); //最大空闲数
dbs.setMinIdle(5); //最小空闲数
}
public static BasicDataSource getDataSource() {
return dbs;
}
private static void initConfig() {
InputStream inf = JDBCUtils.class.getClassLoader().getResourceAsStream("database.propertties");
Properties properties = new Properties();
try {
properties.load(inf);
className = properties.getProperty("driverClass");
sqlUrl = properties.getProperty("url");
sqlUser = properties.getProperty("username");
sqlPassword = properties.getProperty("password");
} catch (IOException e) {
e.printStackTrace();
}
}
}

应用该工具类 结合 DBUtils 写的demo

 package JDBCDemo;

 import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.management.RuntimeErrorException;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbutils.QueryRunner; public class DBCPDemo {
private static QueryRunner qr = new QueryRunner(DBCPUtils.getDataSource());
public static void main(String[] args) {
try {
insert();
} catch (Exception e) {
e.printStackTrance();
}
}
public static void insert() throws SQLException {
String sql = "insert into zhangwu (name,money) values (?,?)";
Object[] obj = {"麻将支出",100};
int res = qr.update(sql,obj);
if (res>0) {
System.out.println("插入数据成功");
}else {
System.out.println("插入数据失败");
}
}
}

Java 使用 DBCP mysql 连接池 做数据库操作的更多相关文章

  1. Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  2. DBCP数据源连接池实现原理分析

    前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的 ...

  3. mysql连接池的使用工具类代码示例

    mysql连接池代码工具示例(scala): import java.sql.{Connection,PreparedStatement,ResultSet} import org.apache.co ...

  4. 用swoole简单实现MySQL连接池

    MySQL连接池 在传统的网站开发中,比如LNMP模式,由Nginx的master进程接收请求然后分给多个worker进程,每个worker进程再链接php-fpm的master进程,php-fpm再 ...

  5. workerman如何写mysql连接池

    首先要了解为什么用连接池,连接池能为你解决什么问题 连接池主要的作用1.减少与数据服务器建立TCP连接三次握手及连接关闭四次挥手的开销,从而降低客户端和mysql服务端的负载,缩短请求响应时间2.减少 ...

  6. nodejs + redis/mysql 连接池问题

    nodejs + redis/mysql 连接池问题 需不需要连接池 连接池的作用主要是较少每次临时建立连接所带来的开销.初步一看,nodejs运行单线程上,它不能同时使用多个连接,乍一看是不需要连接 ...

  7. Swoole MySQL 连接池的实现

    目录 概述 代码 扩展 小结 概述 这是关于 Swoole 入门学习的第八篇文章:Swoole MySQL 连接池的实现. 第七篇:Swoole RPC 的实现 第六篇:Swoole 整合成一个小框架 ...

  8. 转 Swoole】用swoole简单实现MySQL连接池

    MySQL连接池 在传统的网站开发中,比如LNMP模式,由Nginx的master进程接收请求然后分给多个worker进程,每个worker进程再链接php-fpm的master进程,php-fpm再 ...

  9. 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。

    解决Mysql连接池被关闭  ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...

随机推荐

  1. idea中 和outline相似的功能

    ctrl+ F12 alt+7 ctrl+h 这个用来看继承关系很好

  2. ASP.NET Application Life Cycle

    The table in this topic details the steps performed while an XAF ASP.NET application is running. Not ...

  3. 关于SDK-manager中我们需要下载哪些?

    废话少说,直接看图说话…… 图片取自博客文章——链接跳转:点击跳转

  4. C# 通过copydata实现进程间通信

    最近公司需要实现一个基于copydata进程间通信的功能.原来一直没有接触过Windows的进程通信,这次正好可以学习一下. 程序是基于Winform的,下面直接上代码. 公共类: public cl ...

  5. 特效Shader对雾的处理

    RFX4_Particle.shader案例 #ifdef BlendAdd UNITY_APPLY_FOG_COLOR(i.fogCoord, res, half4(0,0,0,0)); #endi ...

  6. Datawhale MySQL 训练营 Task3 表操作

    目录 学习内容 1.MySQL 表数据类型 2. 用SQL语句创建表 3. 用SQL语句向表中添加数据 4. 用SQL语句删除表 5. 用SQL语句修改表 作业 参考链接 学习内容 1.MySQL 表 ...

  7. CentOS7下,防火墙设置

    CentOS中防火墙程序主要是firewall和iptables两种. CentOS7中firewall服务已经默认安装好了,而iptables服务需要自己用yum install  iptabes- ...

  8. day12生成器

    迭代器 __iter__() 获取迭代器 __next__() 下一个 生成器 本质就是迭代器 两种方式写生成器 1. 生成器函数 2. 生成器表达式 生成器函数 函数内部有yield. yield返 ...

  9. PLSQL Developer windows 64位连接数据库的问题

    使用PLSQL Developer 工具连接到数据库进行开发,目前主流windows 系统都是64位操作系统,而PLSQL Developer  只有32位程序,所以在连接数据库上遇到一些问题. PL ...

  10. flex布局时,内容区域自适应高度

    页面元素高度固定,中间的元素需要撑满屏幕,或者内容多时显示滚动条时,我们要把父元素设置为height:100vh <div class="parent"> <di ...