0
点赞
收藏
分享

微信扫一扫

实现数据库连接池druid的工具类


一、数据库连接迟druid工具类

import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.apache.commons.beanutils.PropertyUtils;

import javax.sql.DataSource;
import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

public class JdbcUtils {

    /**
     * 获取连接
     * @return
     * @throws IOException
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    private static DataSource ds = null;

    static {
        try {
            Properties props = new Properties();
            props.load(JdbcUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
            ds = DruidDataSourceFactory.createDataSource(props);
        } catch (Exception e) {
                throw new RuntimeException("读取配置文件异常", e);
        }
    }
    
    //Druid连接池
    public static Connection getDruidConnection() throws Exception {
        Connection conn = null;
        conn = ds.getConnection();
        return conn;
    }


    public static void release(Connection conn) throws SQLException {
        if(conn != null)
            conn.close();
    }


    public static void release(Connection conn, PreparedStatement ps) throws SQLException {
        if(ps!=null)
            ps.close();
        if(conn!=null)
            conn.close();
    }

    public static void release(Connection conn, PreparedStatement ps, java.sql.ResultSet rs) throws SQLException {
        if(rs!=null) rs.close();
        if(ps!=null) ps.close();
        if(conn!=null) conn.close();
    }
}

二、数据库连接池druid工具类的测试类

import com.bigdata.plus.Entity.DatabaseInfo;
import org.junit.Test;

import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

/*
    使用PrepareStatement完成增删改
*/
public class PrepareStatementTest {

    @Test
    public void test9() throws Exception {


        Connection connection = JdbcUtils.getDruidConnection();
        DatabaseMetaData metaData = connection.getMetaData();

        System.out.println(metaData.getDatabaseProductName());
        System.out.println(metaData.getDatabaseMajorVersion());

        ResultSet catalogs = metaData.getCatalogs();
        while(catalogs.next()){
            String str = catalogs.getString(1);
            System.out.println(str);
        }

        JdbcUtils.release(connection,null,catalogs);
    }
}

测试成功输出如下所示:
MySQL
5
datafish_test
dw
information_schema
inventory
mysql
optics
performance_schema
sys


举报

相关推荐

0 条评论