版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38318622/article/details/81009942
什么是JDBC
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
什么是数据库连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能
package util;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
import java.util.zip.InflaterInputStream;
import org.apache.commons.dbcp.BasicDataSource;
public class Dbutil {
private static String driver;
private static String url;
private static String username;
private static String password;
private static int initsize;
private static int maxactive;
private static BasicDataSource ds;
static {
ds=new BasicDataSource();
Properties cfg=new Properties();
try {
InputStream in=Dbutil.class.getClassLoader().getResourceAsStream("mysql.properties");
cfg.load(in);
driver=cfg.getProperty("driverClass");
url=cfg.getProperty("url");
username=cfg.getProperty("username");
password=cfg.getProperty("password");
initsize=Integer.parseInt(cfg.getProperty("initsize"));
maxactive=Integer.parseInt(cfg.getProperty("maxactive"));
in.close();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
ds.setInitialSize(initsize);
ds.setMaxActive(maxactive);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static Connection getConnection() {
try {
Connection conn=ds.getConnection();
return conn;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static void close(Connection conn) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void rollback(Connection conn) {
if (conn!=null) {
try {
conn.rollback();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
## 连接到 Mysql
## url 连接数据库的地址
## user 数据库用户名
## password 数据库密码
## driverClass 驱动名字
url=jdbc:mysql://127.0.0.1:3306/netstcoss?serverTimezone=GMT&useSSL=true
username=root
password=123
driverClass=com.mysql.cj.jdbc.Driver
##连接池参数 最大连接 和初始连接
initsize=1
maxactive=5