C3P0连接池——最简单配置

开源连接池技术
导入jar包c3p0-0.9.1.2.jar


导包

在(src)源码目录下新建c3p0-config.xml


c3p0-config.xml

注意名字必须是c3p0-config.xml而且必须在src目录下或者相似的资源文件目录下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<c3p0-config>
    <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql:///jt_db</property>
        <property name="user">root</property>
        <property name="password">123456</property>
    </default-config>
</c3p0-config>
@Test
    public void delete() {
        // 删除dept表中的id为2的数据
        // 1.注册驱动2.获取数据库连接
        Connection conn = null;
        PreparedStatement ps = null;
        // c3p0连接池
        ComboPooledDataSource pool = new ComboPooledDataSource();
        // 设置数据库需要的参数

        try {
            conn = pool.getConnection();
            String sql = "delete from dept where id = ?";
            // 3.获取传输器
            ps = conn.prepareStatement(sql);
            // 设置参数
            ps.setInt(1,2);
            int rows = ps.executeUpdate();
            System.out.println(rows + " be affected");
        } catch (SQLException e) {
            e.printStackTrace();
        }  finally {
            JDBCUtils.close(null, ps, conn);
        }

    }
package util;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 这个类用来完成JDBC工具类的开发
 */
public class JDBCUtils {
    //提供静态的close方法,用来释放资源
    public static void close(ResultSet rs,Statement st,Connection conn){
        if(rs!=null)
        {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                rs=null;//手动置空,等待垃圾回收
            }
        }
        if(st!=null)
        {
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                st=null;
            }
        }
        if(conn!=null)
        {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                rs=null;
            }
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容