java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java dbcp连接池

Java dbcp连接池基本使用方法详解

作者:Y_wee

这篇文章主要介绍了Java 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();
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文