TomcatJDBCPool数据库连接池

数据库连接池

  1. 所做工作:在内存中开辟了一块空间,存放多个数据库连接对象
  2. 数据库连接池中数据库连接对象的状态
    • active态:当前连接对象被应用程序使用中
    • Idle空闲状态:等待应用程序使用
  3. 使用数据库连接池的目的
    在高频率访问数据库时,使用数据库连接池可以降低服务器系 统压力,提升程序运行效率

注意:小型项目不适用数据库连接池

JDBC Tomcat Pool

这是一个直接由 tomcat 产生数据库连接池

  1. 在WEB项目中创建META-INF目录
    META-INF目录与WEB-INF目录同级
  2. 在META-INF目录下创建context.xml
    <?xml version="1.0" encoding="UTF-8"?><Context>    <Resource            driverClassName="com.mysql.cj.jdbc.Driver"            url="jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC"            username="root"            password="199827"            maxActive="50"            maxIdle="20"            name="test"            auth="Container"            maxWait="10000"            type="javax.sql.DataSource"    />    <!--          driverClassName JDBC驱动名          url 数据库地址          username 数据库用户名          password 数据库用户密码          maxActive 最大活跃数据库对象          maxIdle 最大等待数据库对象          name 当前数据库连接的识别名          auth 认证          maxWait 新请求等待时间          type 返回的数据类型    --></Context>
  3. 获取数据库连接池
    @WebServlet(urlPatterns = "/pool", name = "pool")public class DemoServlet extends HttpServlet {    @Override    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        //设置请求编码格式        req.setCharacterEncoding("utf-8");        //设置响应编码格式        resp.setContentType("text/html;charset=utf-8");        try {            //获取上下文            Context context = new InitialContext();            //获取数据库连接池            DataSource dataSource = (DataSource) context.lookup("java:comp/env/test");            //从数据库连接池获取数据库连接            Connection connection = dataSource.getConnection();            PreparedStatement preparedStatement = connection.prepareStatement("select * from flower");            ResultSet resultSet = preparedStatement.executeQuery();            PrintWriter printWriter = resp.getWriter();            while (resultSet.next()){                printWriter.print(resultSet.getInt(1)+"&nbsp;&nbsp;&nbsp;&nbsp;"+resultSet.getString(2)+"<br/>");            }            printWriter.flush();            printWriter.close();            resultSet.close();        } catch (NamingException e) {            e.printStackTrace();        } catch (SQLException e) {            e.printStackTrace();        }    }}

注意:

  1. 使用Tomcat JDBC Pool仍然需要在项目下导入数据库的JDBC驱动包
  2. 在普通java类无法调用Tomcat JDBC Pool,必须在要发布到Tomcat容器中的java类中使用
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
csdn数据库连接池是一种用于管理数据库连接的工具,可以有效地提高数据库访问的性能和效率。数据库连接是指应用程序与数据库之间建立的通信渠道,通过这个渠道可以进行数据库的读写操作。 csdn数据库连接池的工作原理是在应用程序启动时,预先创建一定数量的数据库连接,并将其保存在一个连接池中。当应用程序需要访问数据库时,可以从连接池中获取一个空闲的数据库连接,用于执行相关的数据库操作。当操作完成后,应用程序将数据库连接释放回连接池,以便其他请求可以重复使用这个连接。 使用csdn数据库连接池的好处是可以避免频繁地创建和销毁数据库连接,从而减少了数据库的开销和应用程序的响应时间。此外,连接池还可以根据应用程序对数据库连接的需求进行动态调整,以确保连接数的最佳配置,从而充分利用数据库服务器的资源。 csdn数据库连接池还提供了一些高级功能,比如连接池的最大连接数限制、连接的最大空闲时间等,可以通过配置文件进行参数调整。这样可以防止数据库被过多的连接所占用,同时也可以避免数据库连接被长时间闲置导致的资源浪费。 总之,csdn数据库连接池是一种有效管理数据库连接的工具,能够提高数据库访问的性能和效率,使开发人员能够更好地处理数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值