第一步:导入两个jar包
第二步:创建一个properties文件
第三步:在properties文件中添加配置:连接驱动、数据库名字、数据库用户名和密码等
driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql:///ManageSys username=root password=admin123 initialSize=5 maxActive=10 maxWait=3000 maxIdle=6 minIdle=3
第四步:创建连接池对象
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JdbcUtil { // 创建数据源对象 private static DataSource dataSource; static { // 新建一个配置文件对象 Properties properties = new Properties(); // 通过类加载器找到文件路径,读配置文件 InputStream inputStream = JdbcUtil.class.getResourceAsStream("/d.properties"); // 加载属性文件 try { properties.load(inputStream); // 创建连接池对象 dataSource = DruidDataSourceFactory.createDataSource(properties); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /* * 从连接池中获取连接 * */ public static Connection getConnect(){ Connection con = null; try { con = dataSource.getConnection(); } catch (SQLException e) { e.printStackTrace(); } return con; } /* * 关闭资源 * */ public static void close(Connection connection, Statement statement, ResultSet resultSet){ if(connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } if(statement!=null){ try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
最后测试一下效果:
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; public class Main { public static void main(String[] args) { Connection connection = JdbcUtil.getConnect(); try { DatabaseMetaData databaseMetaData = connection.getMetaData(); System.out.println(databaseMetaData.getURL() + "," + databaseMetaData.getUserName() + "," + databaseMetaData.getDriverName()); } catch (SQLException e) { e.printStackTrace(); } } }
原文:https://www.cnblogs.com/lyd447113735/p/11848187.html