一、数据库连接迟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