zoukankan      html  css  js  c++  java
  • dbcp连接池的基本使用

    dbcp连接池的基本使用

    1、依赖api的使用

    • 导入jar包

     <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-dbcp2</artifactId>
         <version>2.7.0</version>
       </dependency>
    • 导入dbcp.properties配置文件

    • 获取连接

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
               ServletException, IOException {
           Properties properties=new Properties();
           //获取dbcp配置文件对应输入流
           InputStream inputStream=DbcpServlet.class.getClassLoader().getResourceAsStream("dbcp.properties");
           //加载dbcp配置文件
           properties.load(inputStream);

           BasicDataSource basicDataSource=null;
           try {
               //数据源对象
               basicDataSource=BasicDataSourceFactory.createDataSource(properties);
               //获取数据库连接
               Connection connection=basicDataSource.getConnection();
               System.out.println(connection);
          } catch (Exception e) {
               e.printStackTrace();
          }

      }

    2、依赖tomcat容器的使用

    利用jndi机制实现,jndi(命名及目录查找接口),将数据源连接池的配置信息在容器(Tomcat)实现配置

    具体如何实现配置

    • 在tomcat的context.xml文件加入数据源配置

      <Resource 
              <!--数据源名字-->
              name="jdbc/news"
             <!--验证数据源的容器类型-->
        auth="Container"
        type="javax.sql.DataSource"
      <!--最大连接数据库连接对象的数量100-->
      maxActive="100"
      <!--最大空闲数是30-->
      maxIdle="30"
      <!--最大等待时间-->
      maxWait="10000"
      <!--数据库用户名-->
      username="root"
      <!--数据库密码-->
      password="123456"
      <!--数据库驱动-->
      driverClassName="com.mysql.cj.jdbc.Driver"
      <!--数据库url-->
      url="jdbc:mysql://localhost:3306/yl?characterEncoding=utf8&amp;serverTimezone=GMT%2B8"/>
    • 获取连接

      protected void doGet(HttpServletRequest request, HttpServletResponse response)
                 throws ServletException, IOException {
             try {
                 //获取上下文对象
                 Context ctx = new InitialContext();
                 //通过jndi命名服务,找到数据源配置
                 DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/news");
                 //获取数据库连接
                 Connection connection = ds.getConnection();
                 
                 if (!connection.isClosed()) {
                     System.out.println("连接成功");
                }
            } catch (NamingException e) {
                 e.printStackTrace();
            } catch (SQLException e) {
                 e.printStackTrace();
            }
        }
    •  

    记得快乐
  • 相关阅读:
    echo -e的用法
    nc ip 22
    /pentest/backdoors/3proxy
    /usr/local/sbin/arpspoof
    tcpick
    nginx服务报403错误的解决方法
    linux上部署thinkphp5提示500
    修改文件夹的所有者为www
    Host xxx is not allowed to connect to this MariaDb server
    解决Linux 下 root用户删除文件提示:Operation not permitted
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13679553.html
Copyright © 2011-2022 走看看