一、本地数据库连接池使用
1、 配置全局(在本地tomcat配置)
a. 打开tomcat/conf/context.xml文件添加如下配置
name="db"
auth="Container"
maxActive="100"
maxIdle="30"
maxWait="10000"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db?serverTimezone=PRC"
/>
属性名称
说明
name
指定Resource的JNDI名称
auth
指定管理Resource的Manager(Container:由容器创建和管理|Application:由Web应用创建和管理)
type
指定Resource所属的Java类 javax.sql.DataSource
maxActive
指定连接池中处于活动状态的数据库连接的最大数目
maxIdle
指定连接池中处于空闲状态的数据库连接的最大数目
maxWait
指定连接池中的连接处于空闲的最长时间,超过这个时间会抛出异常,取值为-1,表示可以无限期等待
b. 使用数据源,在web中测试(即获取context.xml文件配置)
titleContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/db");
Connection conn = ds.getConnection();
out.print(conn);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select version()");
rs.next();
out.print(rs.getString(1));
rs.close();
stmt.close();
%>
2、 在web项目中使用(不使用全局)
a. 首先注释写在tomcat/conf/context.xml数据库连接池配置,在web项目下的webapp目录下初建一个META-INF目录,然后再在META-INF目录下创建一个context.xml文件,写入如下内容
name="db"
auth="Container"
maxActive="100"
maxIdle="30"
maxWait="10000"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db?serverTimezone=PRC"
/>
b. 继续用之前的web代码测试即可
二、阿里数据库连接池使用(和上面的使用几乎一样,只有连接池的配置发生改变)
a. 在web项目下的META-INF/context.xml配置
name="db"
auth="Container"
maxActive="100"
maxIdle="30"
maxWait="10000"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db?serverTimezone=PRC"
/>
name="druid"
auth="Container"
factory="com.alibaba.druid.pool.DruidDataSourceFactory"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db?serverTimezone=PRC"
filters="stat"
/>
b. 也可以使用全局配置,同样也是在tomcat/conf/context.xml配置
c. 连接池测试
titleContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/druid");
Connection conn = ds.getConnection();
out.print(conn);
%>
三、Druid监控统计
a. 只需在WEB-INF/web.xml添加配置即可
druidr
com.alibaba.druid.support.http.StatViewServlet
loginUsername
admin
loginPassword
admin
druidr
/druid/*
b.当在网页中执行数据库操作时都可以查看到,因为我使用的是本机、端口为8080、tomcat根目录为空,我直接输入loaclhost:8080/druid,即可看到druid统计监控,输入先前设好的账号密码即可,效果如下