整合c3p0连接池

本文展示了如何在Java中配置和使用c3p0连接池来整合JDBC,进行数据库连接。通过引入必要的jar包,设置连接池参数如用户名、密码、URL和驱动,然后创建并配置ComboPooledDataSource实例,获取数据库连接,执行SQL查询并处理结果。同时,使用预编译的PreparedStatement来防止SQL注入问题。
摘要由CSDN通过智能技术生成

整合c3p0连接池

需要3个jar包

1.、c3p0-0.9.5.2.jar、mysql-connector-java-5.1.40.jar、mchange-commons-java-0.2.11.jar

2.引入jar包后用c3p0连接池整合jdbc

1.创建C3p0连接池
   //1.创建c3p0连接池
        ComboPooledDataSource pool = new ComboPooledDataSource();
2.设置连接信息
|
V

1.设置用户名

  pool.setUser("root");//MySql账号

2.设置密码

 pool.setPassword("123456");//MySql密码

3.设置jdbcurl

 pool.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/mayikt");//设置jdbcurl

4.设置加载驱动

  pool.setDriverClass("com.mysql.jdbc.Driver");//设置加载驱动

3.获取连接对象
  //3.获取连接对象
        Connection connection = pool.getConnection();
4.编写sql语句
//编写sql语句
        String selectUserSql="select id,phone,pwd from mayikt_users where id=?";
5.获取预编译执行者对象,防止sql注入问题
//4.获取预编译执行者对象,防止sql注入的问题
        PreparedStatement preparedStatement =connection.prepareStatement(selectUserSql);
6.执行sql语句
 ResultSet resultSet = preparedStatement.executeQuery();//执行sql语句
7.关闭资源
 //关闭连接
        connection.close();
        preparedStatement.close();

测试完整代码

需要有对应的实体类
package com.shxy.test;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.mchange.v2.c3p0.PooledDataSource;
import com.shxy.entity.User;
import org.junit.Test;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Test01 {
    @Test
    public void test01() throws PropertyVetoException, SQLException {
        //1.创建c3p0连接池
        ComboPooledDataSource pool = new ComboPooledDataSource();
        //2.设置连接信息
        pool.setUser("root");//MySql账号
        pool.setPassword("123456");//MySql密码
        pool.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/mayikt");//设置jdbcurl
        pool.setDriverClass("com.mysql.jdbc.Driver");//设置加载驱动
        //3.获取连接对象
        Connection connection = pool.getConnection();
        //编写sql语句
        String selectUserSql="select id,phone,pwd from mayikt_users where id=?";
        //4.获取预编译执行者对象,防止sql注入的问题
        PreparedStatement preparedStatement =connection.prepareStatement(selectUserSql);
        preparedStatement.setInt(1,6);//传入预编译对象参数
        ResultSet resultSet = preparedStatement.executeQuery();//执行sql语句
        boolean result = resultSet.next();
        if(result){
            Integer id=resultSet.getInt("id");
            String  phone=resultSet.getString("phone");
            String  pwd=resultSet.getString("pwd");
            User user =new User(id,phone,pwd);
            System.out.println(user);
        }
        //关闭连接
        connection.close();
        preparedStatement.close();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值