当前位置:Gxlcms > 数据库问题 > 最简DBCP范例

最简DBCP范例

时间:2021-07-01 10:21:17 帮助过:14人阅读

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("P1ng@n151008"); 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范例

标签:exception   public   title   mysq   initial   package   wait   bool   rip   

人气教程排行