当前位置: 代码网 > it编程>编程语言>Java > Maven下Druid连接池配置及使用全过程

Maven下Druid连接池配置及使用全过程

2026年08月06日 Java 我要评论
1.在pom.xml中导入架包及jdbc架包<dependency> <groupid>com.alibaba</groupid>

1.在pom.xml中导入架包及jdbc架包

<dependency>
          <groupid>com.alibaba</groupid>
          <artifactid>druid</artifactid>
          <version>1.1.6</version>
    </dependency>
    <dependency>
      <groupid>mysql</groupid>
      <artifactid>mysql-connector-java</artifactid>
      <version>8.0.17</version>
    </dependency>

2.定义配置文件

(这里的文件时properties格式的,可以放到任意位置)

druid.properties

driverclassname=com.mysql.jdbc.driver
url=jdbc:mysql://127.0.0.1:3306/db1?servertimezone=asia/shanghai
username=root
password=root
#初始化连接数量
initialsize=5
#最大连接数
maxactive=10
#最大等待时间
maxwait=3000

3.测试

需要先加载配置文件

import com.alibaba.druid.pool.druiddatasourcefactory;

import javax.sql.datasource;
import java.io.ioexception;
import java.io.inputstream;
import java.sql.connection;
import java.util.properties;

public class druiddemo {
    public static void main(string[] args) throws exception {
        //1.加载配置文件
        properties pro = new properties();
        inputstream is = druiddemo.class.getclassloader().getresourceasstream("druid.properties");
        pro.load(is);
        //2.获取连接池对象
        datasource ds = druiddatasourcefactory.createdatasource(pro);
        //3.获取连接
        connection conn = ds.getconnection();
        system.out.println(conn);
    }
}

4.结果

出现如下图即成功

5.简化步骤

将一些操作封装到一个工具类中

jdbcutils.java

import com.alibaba.druid.pool.druiddatasourcefactory;

import javax.sql.datasource;
import java.io.ioexception;
import java.sql.connection;
import java.sql.resultset;
import java.sql.sqlexception;
import java.sql.statement;
import java.util.properties;

/*
druid连接池的工具类
 */
public class jdbcutils {
    //1.定义成员变量 datasource
    private static datasource ds;
    static {
        //1.加载配置文件
        properties pro = new properties();
        try {
            pro.load(jdbcutils.class.getclassloader().getresourceasstream("druid.properties"));
            //获取datasource
            ds = druiddatasourcefactory.createdatasource(pro);
        } catch (ioexception e) {
            e.printstacktrace();
        } catch (exception e) {
            e.printstacktrace();
        }
    }
    //获取连接
    public static connection getconnection() throws sqlexception {
        return ds.getconnection();
    }
    //释放资源
    public static void close(statement stmt,connection conn){
        if (stmt!=null) {
            try {
                stmt.close();
            } catch (exception e) {
                system.out.println(e.getmessage());
            }
        }
        if (conn!=null){
            try {
                conn.close();//归还连接
            } catch (exception e) {
                system.out.println(e.getmessage());
            }
        }
    }
    public static void close(resultset rs, statement stmt, connection conn){
        if (rs!=null) {
            try {
                rs.close();
            } catch (exception e) {
                system.out.println(e.getmessage());
            }
        }
        if (stmt!=null) {
            try {
                stmt.close();
            } catch (exception e) {
                system.out.println(e.getmessage());
            }
        }
        if (conn!=null){
            try {
                conn.close();//归还连接
            } catch (exception e) {
                system.out.println(e.getmessage());
            }
        }
    }
    //获取连接池
    public static datasource getdatasource(){
        return ds;
    }
}

测试工具类:druidtest.java

import java.sql.connection;
import java.sql.preparedstatement;
import java.sql.sqlexception;

//测试工具类
public class druidtest {
    public static void main(string[] args) throws sqlexception {
        //给dept表添加一条记录
        //1.获取连接
        connection conn = jdbcutils.getconnection();
        //2.定义sql
        string sql = "insert into dept values(?,?,?)";
        //3.获取邮差对象
        preparedstatement ps = conn.preparestatement(sql);
        //4.给?赋值
        ps.setint(1,50);
        ps.setstring(2,"hahahah");
        ps.setstring(3,"china");
        //5.执行sql
        ps.executeupdate();
    }
}

结果:插入成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com