C3P0的使用实例

Posted 田野与天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C3P0的使用实例相关的知识,希望对你有一定的参考价值。

当然,以下是一个详细的C3P0示例代码,演示了如何配置和使用C3P0连接池:

import com.mchange.v2.c3p0.ComboPooledDataSource;

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

public class C3P0Demo 
    public static void main(String[] args) 
        // 创建C3P0数据源
        ComboPooledDataSource dataSource = new ComboPooledDataSource();

        try 
            // 配置数据源属性
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");
            dataSource.setUser("username");
            dataSource.setPassword("password");

            // 配置连接池属性
            dataSource.setMinPoolSize(5);
            dataSource.setMaxPoolSize(10);
            dataSource.setCheckoutTimeout(3000);

            Connection connection = null;
            PreparedStatement statement = null;
            ResultSet resultSet = null;

            try 
                // 从连接池获取连接
                connection = dataSource.getConnection();

                // 执行查询
                String sql = "SELECT * FROM students";
                statement = connection.prepareStatement(sql);
                resultSet = statement.executeQuery();

                // 处理查询结果
                while (resultSet.next()) 
                    int id = resultSet.getInt("id");
                    String name = resultSet.getString("name");
                    int age = resultSet.getInt("age");
                    System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
                
             catch (SQLException ex) 
                ex.printStackTrace();
             finally 
                // 释放资源
                if (resultSet != null) 
                    try 
                        resultSet.close();
                     catch (SQLException ex) 
                        ex.printStackTrace();
                    
                
                if (statement != null) 
                    try 
                        statement.close();
                     catch (SQLException ex) 
                        ex.printStackTrace();
                    
                
                if (connection != null) 
                    try 
                        connection.close();
                     catch (SQLException ex) 
                        ex.printStackTrace();
                    
                
            
         catch (PropertyVetoException ex) 
            ex.printStackTrace();
         finally 
            // 关闭数据源
            dataSource.close();
        
    

在上述代码中,我们首先创建了一个ComboPooledDataSource对象作为C3P0数据源。然后,我们通过setDriverClass()方法设置数据库驱动类,setJdbcUrl()方法设置数据库连接URL,setUser()setPassword()方法设置数据库的用户名和密码。接下来,我们使用setMinPoolSize()setMaxPoolSize()方法设置连接池的最小和最大连接数,使用setCheckoutTimeout()方法设置连接的超时时间。

在代码的主体部分,我们首先获取一个连接对象connection,然后执行一个查询操作,将结果打印出来。最后,在释放资源时,我们依次关闭结果集、预处理语句和连接对象。

请确保根据您实际的数据库配置进行适当的修改,并在运行代码之前正确配置数据库连接信息。此外,还需要将C3P0的依赖项添加到项目的构建文件(例如pom.xml)中。例如,在Maven项目中,您可以添加以下依赖项:

<dependency>


    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.5.5</version>
</dependency>

这些代码将帮助您开始使用C3P0连接池来管理数据库连接。请注意,为了使用C3P0,您需要将相关的JAR文件添加到您的项目中,并根据实际情况修改代码中的数据库连接信息。

简单vi配置:YouCompleteMe

下图就是我的VI;

按F5 F6分别调出左右的窗体;

按C-P点出CtrlP搜索,直接查找project中的文件;

自己主动补全用的YouCompleteMe。超级强悍;


技术分享


先发3个实用的连接:

https://github.com/humiaozuzu/dot-vimrc
https://github.com/spf13/spf13-vim
https://github.com/amix/vimrc

我就是先依据第一个连接做的。

然后又增加了下面改动(是不是非常懒 哈哈哈):


在.vimrc 中增加下面代码:

Bundle ‘Valloric/YouCompleteMe’

 

保存退出后,打开vim 在命令模式下,输入以下的命令:

:BundleInstall

等待vundle将YCM安装完毕。然后进行编译安装

#cd ~/.vim/bundle/YouCompleteMe

#./install –clang-completer

 

提示err:

Some folders in~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party are empty;you probablyforgot to run:git submodule update –init –recursive

 

依照提示输入命令就可以:

# git submodule update –init –recursive

等待命令更新完毕后,在继续前面的命令假设要支持C# 也能够增加--omnisharp-completer

#./install--clang-completer –omisharp-completer

 

 

提示err:

CMAKE_CXX_COMOILER-NOTFOUND

输入下面命令解决:

#apt-getinstall g++

#cmake –DCMAKE_CXX_COMPILER=”g++” CMAKE –D CMAKE_BUILD_TYPE=Release –DCMAKE_INSTALL_PREFIX=”/usr/local”

提示err:

Cmake “couldnot find pythonlibs” 

输入下面命令解决:

#apt-getinstall python-dev

 

然后在运行 安装就OK了

 

配置

配置文件在:

/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py


特将vimrc上传:

http://download.csdn.net/detail/maoyongf2008/8899641















以上是关于C3P0的使用实例的主要内容,如果未能解决你的问题,请参考以下文章

Java新手入门200例125之用C3P0连接Mysql实例

tomcat JDBC连接池c3p0连接资源耗尽导致tomcat实例对应的app移动端无法访问。

140.数据源(连接池)的作用

C3P0连接池的使用

C3P0连接池的使用

c3p0 数据库连接池