1、数据库连接池理解
连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。
2、druid连接池 maven配置及配置文件使用
(1)druid连接池的maven依赖添加
添加druid连接池的依赖、数据库驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.3</version>
</dependency>
(2)配置resources文件夹druid文件环境
①创建resources文件夹和druid.properties文件
DruidDataSource配置属性列表及文件正常配置
参考地址: DruidDataSource配置属性列表及文件正常配置
druid.properties文件常用设置(可以直接粘贴复制后更改或添加) 自己根据官方或者上面的配置进行配置修改
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/byshop?serverTimezone=PRC
username=byshop
password=Bs1357.
initialSize=10
minIdle=1
maxActive=10
maxWait=10000
timeBetweenEvictionRunsMillis=6000
minEvictableIdleTimeMillis=300000
testWhileIdle=true
testOnBorrow=true
testOnReturn=true
poolPreparedStatements=true
maxPoolPreparedStatementPerConnectionSize=20
validationQuery=select 1
filters=stat
(3)使用
主要代码
public class JdbcUtils {
private static JdbcUtils instance;
DataSource dataSource;
public static JdbcUtils getInstance() {
if (null == instance) {
instance = new JdbcUtils();
}
return instance;
}
private JdbcUtils() {
Properties prop = new Properties();
InputStream is = JdbcUtils.class.getResourceAsStream("/druid.properties");
try {
prop.load(is);
} catch (IOException e) {
e.printStackTrace();
}
try {
dataSource = DruidDataSourceFactory.createDataSource(prop);
} catch (Exception e) {
e.printStackTrace();
}
}
public Connection getConnection() {
Connection conn = null;
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
(4)开启druid数据库连接池的监控
在 web.xml文件中配置
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
开启服务器输入配置的路径,就可以看到druid数据库连接池监控
|