Druid java tools connection pool sample code

Code Example Function: Get Druid connection pool (using a configuration file on Demand), is connected with the return of data display, a simple test code is attached finally.

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class JdbcUtil {
    private static  DataSource dataSource;
    static{
        Properties properties=new Properties();
        try {//load properties
//            InputStream is =new FileInputStream("config/jdbc.properties");
            InputStream is= JdbcUtil.class.getClassLoader().//needed set resource in idea
                    getResourceAsStream("jdbc.properties");
            properties.load(is);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
             dataSource = DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() throws Exception {
        Connection connection = dataSource.getConnection();
        return connection;
    }
    public static void close(Connection connection) throws SQLException {
        connection.close();
    }

    //close connect, which give back connect to pool
    public static  void close(Statement statement, ResultSet resultSet, Connection connection) throws SQLException {
        if(statement!=null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            finally {
                resultSet.close();
                connection.close();
            }
        }
    }

    //show columns base on metaData
    public static void showMetaDataOfTable(ResultSet resultSet) throws SQLException {
        ResultSetMetaData metaData = resultSet.getMetaData();
        int columnCount = metaData.getColumnCount();
        for(int i=1;i<=columnCount;i++){

            System.out.print(metaData.getColumnName(i)+"\t");
        }
        System.out.println();
    }
    //show data of result
    public static void showRowData(ResultSet resultSet) throws SQLException {
        ResultSetMetaData metaData = resultSet.getMetaData();
        for(int i=1;i<metaData.getColumnCount();i++){
            System.out.print(  resultSet.getString(i)+"\t");
        }
        System.out.println();
    }
}

class Test{
    public static void main(String[] args) throws Exception {
        Connection connection = JdbcUtil.getConnection();
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery("select *from book");
        JdbcUtil.showMetaDataOfTable(resultSet);
        while(resultSet.next()){
            JdbcUtil.showRowData(resultSet);
//            System.out.println("name:"+resultSet.getString("name")+" author:"+resultSet.getString("author"));
        }
        JdbcUtil.close(statement,resultSet,connection);
    }
}

jdbc.properties

username=root
password=wang
url=jdbc:mysql://localhost:3306/test
driverClassName=com.mysql.jdbc.Driver
#max connection number of Druid pool
maxActive=10
#initial connection nunmber of 
initialSize=3
Published 130 original articles · won praise 39 · views 10000 +

Guess you like

Origin blog.csdn.net/qq_34901049/article/details/103546582