实现数据库连接池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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最笨的羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值