Eclipse中采用数据库连接池访问MySQL
Eclipse中采用数据库连接池访问MySQL数据库连接池负责分配、管理和释放数据库连接允许应用程序重复使用一个现有的数据库连接释放空闲时间超过最大空闲时间的数据库连接数据库连接池技术能明显提高对数据库操作的性能很多WEB服务器例如Tomcat都提供了DataSource连接池的实现。基于Tomcat以数据库连接池方式访问MySQL,方法如下:(1)在Tomcat目录中的【l...
Eclipse中采用数据库连接池访问MySQL
数据库连接池
- 负责分配、管理和释放数据库连接
- 允许应用程序重复使用一个现有的数据库连接
- 释放空闲时间超过最大空闲时间的数据库连接
- 数据库连接池技术能明显提高对数据库操作的性能
很多WEB服务器例如Tomcat都提供了DataSource连接池的实现。
基于Tomcat以数据库连接池方式访问MySQL,方法如下:
(1) 在Tomcat目录中的【lib】目录下放入数据库驱动jar包
例如:mysql-connector-java-8.0.XX.jar
(2) 在所创建Web工程的源程序目录META-INF下新建context.xml文件
源程序目录根据不同eclipse版本有不同,可能为:WebRoot,WebContent或者src/main/webapp目录
context内容如下:
<Context>
<Resource name="dbpool"
type="javax.sql.DataSource"
auth="Container"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/数据库名?连接参数"
username="XXX"
password="XXX"
maxActive="5"
maxIdle="2"
maxWait="6000" />
</Context>
其中:
- maxActive:设置连接池中处于活动状态的数据库连接的最大数目,0表示不受限制
- maxIdle:设置连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制
- 数据库连接参数:通常设置为:
?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
表示采用utf8字符集,并采用格林威治时区东八区时间,注意其中的“&”已经替换为转义字符!
(3)用TestDBPool.jsp测试
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.DataSource" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test DBPool</title>
</head>
<body>
Tomcat访问数据库连接池测试,获取数据源 <br>
<%
try {
Context ctx = new InitialContext(); //初始化查找命名空间
Context envContext = (Context)ctx.lookup("java:comp/env"); //参数java:/comp/env为固定路径
DataSource ds = (DataSource)envContext.lookup("dbpool"); //在context中设定的pool的name值
Connection conn = ds.getConnection();
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery("select 1");
conn.close();
out.println("<span style='color:red;'>JNDI测试成功<span>");
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</body>
</html>
正确则返回:JNDI测试成功!
成功后,当后续在其他工程需要完成数据库访问时,只需要:
1、将context.xml拷贝到工程目录对应的META_INF下;
2、在jsp文件中采用类似TestDBPool.jsp中的代码,即可完成高效、安全的数据库访问操作。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)