1、连接池解释及优点参考百科:https://baike.baidu.com/item/%E8%BF%9E%E6%8E%A5%E6%B1%A0/1699713?fr=aladdin
2、Druid连接池开发:
(1) 将数据库驱动与连接池druid-1.1.10.jar包加载到工程中
(2) 初始化连接池对象 DruidDataSource(数据库URL, 驱动, 用户名,密码)
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.alibaba.druid.pool.DruidDataSource;
public class DbUtil {
private static DruidDataSource dds;
private static final String ORACLE_URL = "jdbc:mysql://localhost:3306/数据库名";//地址
private static final String ORACLE_DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动
private static final String ORACLE_USERNAME = "root"; // 数据库用户名
private static final String ORACLE_PASSWORD = "root"; // 数据库密码
static {
dds=new DruidDataSource();
dds.setUrl(ORACLE_URL);
dds.setDriverClassName(ORACLE_DRIVER);
dds.setUsername(ORACLE_USERNAME);
dds.setPassword(ORACLE_PASSWORD);
}
public static DruidDataSource getDataSource() {
return dds;
}
}
(3) 获取数据池的链接
public class DBUtil {
public static Connection getConn() {
try {
return dds.getPooledConnection().getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
(4) 对数据库进行操作(根据具体情况操作)
(5) 关闭资源(当前关闭资源指的是将数据库链接归还连接池,而不是断开数据库链接)
public class DBUtil {
public static void close(Connection con,Statement statement,ResultSet rs) {
if(con!=null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(statement!=null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}