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