• 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();
            }
        }
    }
    

      

  • 相关阅读:
    排序_简单选择排序
    排序_冒泡排序
    笔试_阿里_逆波兰表达式
    刷题_牛客_大整数排序
    刷题_牛客_字符串编码
    刷题_thinkinginjava_吸血鬼数字
    刷题_牛客_超级素数幂
    刷题_LeetCode_Two Sum
    刷题_LeetCode_Reverse Integer
    854. Floyd求最短路(模板)
  • 原文地址:https://www.cnblogs.com/leigepython/p/10032892.html
Copyright © 2020-2023  润新知