zoukankan      html  css  js  c++  java
  • C3P0连接池

     C3p0的使用:

    1.C3P0开源的连接池,需要导入开发的jar包

      c3p0-0.9.1.2.jar

    2.只要学习该对象,不管是手动编码还是配置文件,都使用同一个类 ComboPooledDataSource

    • ComboPooledDataSource类,手动设置参数的方法入下
    • ComboPooledDataSource()
    • setDriverClass()
    • setJdbcUrl()
    • setUser()
    • setPassword()

    3,重点掌握配置文件的方式

    创建名称为c3p0-config.xml (名称必须是它) 文件存放在src的目录下 c3p0自动去加载该配置文件,满足上述的条件

    例子

      1,xml文件配置如下

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
    	
    	<!-- 默认的配置 -->
    	<default-config>
    		<!-- 元素,属性,文本 -->
    		<property name="driverClass">com.mysql.jdbc.Driver</property>
    		<property name="jdbcUrl">jdbc:mysql:///h_db</property>
    		<property name="user">root</property>
    		<property name="password">123456</property>
    	</default-config>
    	
    </c3p0-config>
    

      2,DBUti类:

    package org.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    
    public class DBUtil {
    	
    	//获取C3p0连接池
    	private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
    	
    	//从连接池中获取连接
    	public static Connection getConnection() throws SQLException{
    		
    		return dataSource.getConnection();
    	}
    		
        //关闭数据库链接
    	public static void closeResource(Connection conn, Statement st, ResultSet rs) {
    		if (rs != null) {
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    		if (st != null) {
    			try {
    				st.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    
    		if (conn != null) {
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	public static void closeResource(Connection conn, PreparedStatement pst) {
    		if(conn != null){
    			try {
    			conn.close();
    			} catch (SQLException e) {
    			e.printStackTrace();
    			}
    			}
    			if(pst != null){
    			try {
    			pst.close();
    			} catch (SQLException e) {
    			e.printStackTrace();
    			}
    			}
    	}
    	
    	//测试连接是否成功
    	public static void main(String args[]) throws SQLException {
    		   Connection conn = dataSource.getConnection();
    		   if(conn!=null){
    			   System.out.println("成功!");
    			   System.out.println(conn);
    		   }else{
    			   System.out.println("失败!");
    		   }	
    	}
    }
    

      如果测试结果如下,则测试成功,否则测试失败:

  • 相关阅读:
    kali 2019 安装
    centos 7 安装
    windows 和linux系统下常用命令
    JavaScript中Object类型的定义
    《WPF编程宝典(第2版)》第3章 布局
    《C语言程序设计:现代方法(第2版)》第7章 基本类型
    《C语言程序设计:现代方法(第2版)》第6章 循环
    《C语言程序设计:现代方法(第2版)》第5章 选择语句
    《C语言程序设计:现代方法(第2版)》第4章 表达式
    《深入实践Spring Boot》第4章 提高数据库访问性能
  • 原文地址:https://www.cnblogs.com/HPioneer/p/6554431.html
Copyright © 2011-2022 走看看