数据库连接池
- 为了提升服务器性能,降低服务器资源消耗
- 第三方连接池框架
- DBCP
- C3P0
- druid 阿里巴巴开源的
基本使用步骤
public class DruidPool {
public static void main(String[] args) {
//1,创建一个数据源对象
DruidDataSource druidDataSource = new DruidDataSource();
// 2, 配置数据源
druidDataSource.setUsername("root");
druidDataSource.setPassword("666");
druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");
druidDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/super_market?characterEncoding=utf-8");
try {
//3,获取一个数据库连接
DruidPooledConnection connection = druidDataSource.getConnection();
System.out.println(connection);
// 4, 归还到连接池中
connection.close();
// 5,连接池关闭
druidDataSource.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
改用配置文件
db.properites 文件内容,key与代码中保持一致
druid.url=jdbc:mysql://127.0.0.1:3306/super_market?characterEncoding=utf-8
druid.username=root
druid.password=666
druid.driverClassName=com.mysql.jdbc.Driver
public static void main(String[] args) {
//1,创建一个数据源对象
DruidDataSource druidDataSource = new DruidDataSource();
// 2, 给数据源配置连接信息
Properties properties = new Properties();
try {
properties.load(DruidPool.class.getClassLoader().getResourceAsStream("db.properties"));
// 根据properties进行配置
druidDataSource.configFromPropety(properties);
} catch (IOException e) {
e.printStackTrace();
}
try {
//3,获取一个数据库连接
DruidPooledConnection connection = druidDataSource.getConnection();
System.out.println(connection);
// 4, 归还到连接池中
connection.close();
// 5,连接池关闭
druidDataSource.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
工具类使用数据库连接池改进
public class DbUtil {
private static Properties properties;
private static DruidDataSource druidDataSource;
static {
properties = new Properties();
druidDataSource = new DruidDataSource();
try {
properties.load(DbUtil.class.getClassLoader().getResourceAsStream("db.properties"));
druidDataSource.configFromPropety(properties);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void closePool() {
//关闭连接池
druidDataSource.close();
}
public static Connection getConn() throws ClassNotFoundException, SQLException, IOException {
return druidDataSource.getConnection();
}
}
配置文件
# characterEncoding是字符编码设置
druid.url=jdbc:mysql://127.0.0.1:3306/super_market?characterEncoding=utf-8
druid.username=root
druid.password=666
druid.driverClassName=com.mysql.jdbc.Driver
# 初始化大小
druid.initialSize=2
#最大连接个数
druid.maxActive=10
#最小连接个数
druid.minIdle=2
# 单位是毫秒 获取连接时的最大等待时间
druid.maxWait=5000
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192932.html