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();
}
}
结果:插入成功

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