【JDBC】C3P0连接池的使用
程序员文章站
2022-07-01 13:14:01
C3P0连接池的c3p0 config.xml配置文件 工具类 单元测试 ......
c3p0连接池的c3p0-config.xml配置文件
<?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:///jdbctest?servertimezone=hongkong</property> <property name="user">root</property> <property name="password">1234</property> <property name="initialpoolsize">5</property> <property name="maxpoolsize">20</property> </default-config> </c3p0-config>
工具类
package jdbcutils; import java.sql.connection; import java.sql.resultset; import java.sql.statement; import com.mchange.v2.c3p0.combopooleddatasource; public class jdbcutils { private static final combopooleddatasource cpds = new combopooleddatasource(); public static connection getconection() throws exception { return cpds.getconnection(); } public static void release(statement stmt, connection conn) { if(stmt != null) { try { stmt.close(); }catch(exception e) { e.printstacktrace(); } stmt = null; } if(conn != null) { try { conn.close(); }catch(exception e) { e.printstacktrace(); } conn = null; } } public static void release(resultset rs, statement stmt, connection conn) { if(rs != null) { try { rs.close(); }catch(exception e) { e.printstacktrace(); } rs = null; } if(stmt != null) { try { stmt.close(); }catch(exception e) { e.printstacktrace(); } stmt = null; } if(conn != null) { try { conn.close(); }catch(exception e) { e.printstacktrace(); } conn = null; } } }
单元测试
package demo1; import java.sql.connection; import java.sql.preparedstatement; import java.sql.resultset; import org.junit.test; import jdbcutils.jdbcutils; public class jdbcdemo4 { @test public void demo4() { connection conn = null; preparedstatement pstmt = null; resultset rs = null; try { // 获得连接 conn = jdbcutils.getconection(); // 编写sql string sql = "select * from course"; // 预编译sql pstmt = conn.preparestatement(sql); // 执行sql rs = pstmt.executequery(); while (rs.next()) { system.out.println(rs.getint("id") + " " + rs.getstring("name") + " " + rs.getstring("category") + " " + rs.getstring("desp") + " " + rs.gettimestamp("createtime")); } } catch (exception e) { e.printstacktrace(); } finally { jdbcutils.release(rs, pstmt, conn); } } }
推荐阅读
-
JSP中使用JDBC连接MySQL数据库的详细步骤
-
JSP程序使用JDBC连接MySQL的教程
-
JSP使用JDBC连接MYSQL数据库的方法
-
使用JDBC连接ORACLE的三种URL格式
-
荐 Java——数据库编程JDBC之数据库连接池技术(C3P0与Druid,提供了Druid的工具类)
-
使用JDBC连接Mysql数据库会出现的问题总结
-
PHP没有数据库连接池怎么破?PHP环境下使用Nginx ngx_http_limit_req_module模块的高负载解决方案
-
mybatis 使用jdbc.properties文件设置不起作用的解决方法
-
【⭐】Java—Spring-—数据库操作—使用内置连接池,报读取不到驱动错误。Could not load JDBC driver class。
-
Java语言使用JDBC连接Mysql数据库的详细步骤,以及详细解释(一)