最简DBCP范例
Posted waterge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简DBCP范例相关的知识,希望对你有一定的参考价值。
package dbcptest; /** * DBCP数据库连接池(提升效率) * 导包dbcp * 创建数据库连接池: * 1 创建数据源对象(BasicDataSource) * 2 设置连接信息 * setDriverClassName()数据库驱动 * setUrl()数据库地址及库 * setUsername()数据库用户名 * setPassword()数据库密码 * setInitialSize()连接池初始连接数量 * setMaxActive()连接池最大连接数量 * setMaxWait()设置最大等待时间(超时的连接会被数据库连接池自动回收) * 注意:新版本中 * setMaxActive 替换成了 setMaxTotal * setMaxWait 替换成了 setMaxWaitMillis * 3 获取连接对象 * 4 操作连接对象 * * Title: DBCPDemo * * Description: * * @author Ethan * * @date 2019年6月23日 * */ import java.sql.Connection; import java.sql.Statement; import org.apache.commons.dbcp2.BasicDataSource; public class DBCPDemo public static void main(String[] args) throws Exception //1 创建数据源对象 BasicDataSource bds = new BasicDataSource(); //2 设置连接信息 bds.setDriverClassName("com.mysql.cj.jdbc.Driver"); bds.setUrl("jdbc:mysql://104.156.238.17:3306/dbcptest?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"); bds.setUsername("root"); bds.setPassword("[email protected]"); bds.setInitialSize(3); bds.setMaxTotal(5); bds.setMaxWaitMillis(3000); //获取连接对象 Connection conn = bds.getConnection(); System.out.println(conn); //操作连接对象 /** * 如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false * 即: * 如果返回结果是一个ResultSet 对象则返回true * 如果返回值不是一个ResultSet 对象则返回false */ Statement stat = conn.createStatement(); String sql = "drop table dbcpt1"; boolean restat = stat.execute(sql); System.out.println(restat);//此处返回false是正常的 sql = "create table dbcpt1(id int primary key auto_increment,name varchar(20))"; restat = stat.execute(sql); System.out.println(restat);//此处返回false是正常的 /** * 使用dbcp不需要关闭连接,数据库连接池会自动根据情况选择关闭空闲连接 * 设置setMaxWait()(setMaxWaitMillis())会自动关闭超时的连接 */
以上是关于最简DBCP范例的主要内容,如果未能解决你的问题,请参考以下文章