c3p0只有配置的初始10,可是只有3个连接
问题描述:
c3p0只有配置的初始10,可是只有3个连接
相关截图:
相关代码:
相关代码:<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/example?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true</property> <property name="user">root</property> <property name="password">123456</property> <!-- 连接池初始连接数量 --> <property name="initialPoolSize">10</property> <!--最大连接数量--> <property name="maxPoolSize">20</property> </default-config> </c3p0-config> package com.doc.jdbc; import com.doc.jdbc.common.DbUtils; import com.doc.jdbc.entity.Employee; import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; /** * C3P0 连接池配置与使用 */ public class C3P0Sample { public static void main(String[] args) { // 第一步、加载属性文件 // 第二步:获取 DataSource 数据源对象(数据库在JDBC中的别称)。 DataSource dataSource = new ComboPooledDataSource(); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; // 第三步:创建数据库连接 try { conn = dataSource.getConnection(); String sql = "select * from employee limit 0,10"; pstmt = conn.prepareCall(sql); rs = pstmt.executeQuery(); List<Employee> list = new ArrayList(); // 4、遍历查询结果 while (rs.next()) { int eno = rs.getInt(1); // 获取第1列数据,以整形返回 String ename = rs.getString("ename"); float salary = rs.getFloat("salary"); String dname = rs.getString("dname"); // java.sql.Date Date hiredate = rs.getDate("hiredate"); System.out.println(dname + "-" + eno + "-" + ename + "-" + salary + "-" + hiredate); Employee emp = new Employee(); emp.setEno(eno); emp.setEname(ename); emp.setSalary(salary); emp.setDname(dname); emp.setHiredate(hiredate); list.add(emp); } System.out.println(list.size()); } catch (SQLException e) { e.printStackTrace(); } finally { DbUtils.closeConnection(rs, pstmt, conn); } } }
4
收起
正在回答
1回答
同学你好,可能因为某些语句执行完,已经释放连接了,所以没有十个数据库连接。老师在源码中测试,以debug形式启动后,在数据库中查看会有10个连接。建议同学重构项目,然后打一个断点使用debug模式启动试一下。如下所示:
祝学习愉快!
Java工程师 2024版
- 参与学习 2030 人
- 提交作业 1352 份
- 解答问题 1231 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星