Eclipse中采用数据库连接池访问MySQL

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内容如下:


	

其中:

  • maxActive:设置连接池中处于活动状态的数据库连接的最大数目,0表示不受限制
  • maxIdle:设置连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制
  • 数据库连接参数:通常设置为:
    在这里插入图片描述
    表示采用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" %>




Test DBPool


Tomcat访问数据库连接池测试,获取数据源 
<% 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("JNDI测试成功"); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } %>

正确则返回:JNDI测试成功!

成功后,当后续在其他工程需要完成数据库访问时,只需要:
1、将context.xml拷贝到工程目录对应的META_INF下;
2、在jsp文件中采用类似TestDBPool.jsp中的代码,即可完成高效、安全的数据库访问操作。

你可能感兴趣的:(#,WEB开发,开发技术,MySQL,mysql,java,jsp,eclipse)