在上一篇文章C3P0-基于mysql8创建C3P0连接池(jdbcUrl写法)中, 我们编写好了C3P0的配置文件, 并且自定义工具类C3P0Utils.

现在就通过调用该工具类中的方法的方式执行sql语句,以此测试该工具类可否正常使用(配置文件是否编写正确, 成员方法是否创建成功 等)

这里使用的数据表是

/**
 *   项目描述: 使用自定义编写的数据库C3P0连接池的工具类获取连接进行sql查询操作
 *   作   者: chain.xx.wdm
 */

public class C3P0PoolTest {

    public static void main(String[] args) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        try {
            // 1。获取连接
            connection = C3P0Utils.getConnection();
            // 2。创建有占位符形式的sql查询语句
            String sql = "select * from employee where name = ?";
            // 3。创建prepareStatement对象,并设置占位符的数值
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1,"猪八戒");
            // 4。执行sql语句
            resultSet = preparedStatement.executeQuery();
            // 5。处理结果集
            while(resultSet.next()){
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String gender = resultSet.getString("gender");
                double salary = resultSet.getDouble("salary");
                String join_date = resultSet.getString("join_date");
                System.out.println("id: " + id + ", name: " + name  + ", gender: " + gender + ", salary: " + salary + ", join_date:" + join_date);
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            // 6。关闭对象
            try {
                C3P0Utils.close(connection, preparedStatement, resultSet);
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
}

运行返回结果正确

03-05 16:51