• JAVA 数据库连接池


    大前提是给mysql连接jar包引入到lib包里面

    第一步:在META-INF下面建一个context.xml文件 ps:名字是固定的 

    第二步:在里面写入相关内容

    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
        <Resource
                driverClassName="com.mysql.jdbc.Driver"  数据库驱动 
                url="jdbc:mysql://localhost:3306/jdjk"   数据库连接
                username="root"                          用户名
                password=""                              密码
                maxActive="50"                           最大活动个数
                maxIdle="20"                             最大替补个数
                name="test"                              线程池名
                auth="Container"                         由哪个发起Container 说明是tomcat                   
                maxWait="10000"                          每一个连接最大的等待时间
                type="javax.sql.DataSource"              连接返回的数据类型
        />
    </Context>
    

      

    代码示例:

    package com.zhileiedu.servlet;
    
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.sql.DataSource;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    @WebServlet("/user")
    public class ServletUser extends HttpServlet {
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            try {
                // 初始化上下文
                Context context = new InitialContext();
                // 连接数据源(java:/comp/env/test)是固定的写法,后面是test,是连接池的名称
                DataSource dataSource = (DataSource) context.lookup("java:comp/env/test");
                // 获取数据库连接 (通过连接池获取连接,相当于驱动管理)
                Connection connection = dataSource.getConnection();
                PreparedStatement preparedStatement = connection.prepareStatement("select * from jdjk_com");
                ResultSet resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    System.out.println(resultSet.getInt(1));
                }
    
                resultSet.close();
                connection.close();
            } catch (NamingException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    

      

  • 相关阅读:
    kafka 流式计算
    解决山地车令人讨厌的中轴异响及其他异响问题
    go语言通道详解
    使用Spring Cloud连接不同服务
    并发之痛 Thread,Goroutine,Actor
    用go语言实现线程池
    golang go语言通道类型的通道示例 通道的通道
    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
    spring5 reactive
    Go 语言和 Scala 语言对比
  • 原文地址:https://www.cnblogs.com/leigepython/p/10032892.html
Copyright © 2020-2023  润新知