zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
    

      

  • 相关阅读:
    [Err] 1168
    SpringAOP的运用方式——注解方式和XML配置方式
    展开运算符的理解
    find indexof findindex includes 的区别
    关于MVC MVVM的理解
    sync修饰符
    vue导航守卫
    输入网址到页面显示 经历了什么(转载)
    vue中侦听器的使用
    函数声明的三种方式
  • 原文地址:https://www.cnblogs.com/leigepython/p/10032892.html
Copyright © 2011-2022 走看看