一、资源准备
1、 mysql-connector-java-8.0.23.jar 数据库链接包 druid-1.2.8.jar 连接池包
2、测试包
junit-4.11.jar、hamcrest-core-1.3.jar
二、连接配置
1、创建项目
2、加载资源包

3、编写数据库工具类
文件路径 src/main/java/com/zxp/utils/JdbcUtils.java
- package com.zxp.utils;
-
- import com.alibaba.druid.pool.DruidDataSource;
- import com.alibaba.druid.pool.DruidDataSourceFactory;
-
- import java.io.InputStream;
- import java.sql.Connection;
- import java.sql.SQLException;
- import java.util.Properties;
-
- public class JdbcUtils {
- private static DruidDataSource dataSource;
- static {
-
- try {
- Properties properties = new Properties();
- //jdbc.properties文件 属性;jdbc.properties是配置数据库连接的文件
- InputStream resourceAsStream = JdbcUtils.class.getResourceAsStream("/jdbc.properties");
- //从流中加载数据
- properties.load(resourceAsStream);
- //创建数据库连接池
- dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
- //System.out.println(dataSource.getConnection());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void main(String[] args) {
-
- }
- /**
- * 获取数据连接池中的连接
- * @return 如果返回null 则获取数据库连接失败
- */
- public static Connection getConnection(){
- Connection conn = null;
-
- try {
- conn =dataSource.getConnection();
- } catch (Exception throwables) {
- throwables.printStackTrace();
- }
- return conn;
- }
-
- /**
- * 关闭连接,放回数据库连接池
- * @param conn
- */
- public static void close(Connection conn){
- if (conn!=null){
- try {
- conn.close();
- } catch (SQLException throwables) {
- throwables.printStackTrace();
- }
- }
- }
- }
4、测试
文件路径 src/main/java/com/zxp/test/JdbcUtilsTest.java
- package com.zxp.test;
-
- import com.zxp.utils.JdbcUtils;
- import org.junit.Test;
-
- public class JdbcUtilsTest {
-
- @Test
- public void testJdbcUtils(){
- for( int i=1;i<15;i++){
- System.out.println(JdbcUtils.getConnection());
- }
- }
-
- }
4、配置文件
路径 :src/main/resources/jdbc.properties
注意:新版IDEA jdbc.properties 文件要放在 src/main/resources文件下
- #druid文件配置,MySQL版本8.0.28,druid版本1.2.8
- driverClassName = com.mysql.cj.jdbc.Driver
- #url = jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&userSSL=false&serverTimezone=GMT%2B8
- username=root
- password=123456
- #初始连接数量
- initialSize = 6
- #最大连接数
- maxActive = 10
- #最大超时时间
- maxWait = 3000
三、目录结构
