亲宝软件园·资讯

展开

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

Y_wee 人气:0
想了解Java dbcp连接池基本使用方法详解的相关内容吗,Y_wee在本文为您仔细讲解Java dbcp连接池的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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&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();
    }
  }

加载全部内容

相关教程
猜你喜欢
用户评论