服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - Tomcatc3p0配置jnid数据源2种实现方法解析

Tomcatc3p0配置jnid数据源2种实现方法解析

2021-09-17 14:10Y_wee Tomcat

这篇文章主要介绍了Tomcatc3p0配置jnid数据源2种实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

使用c3p0

导入c3p0jar包

?
1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
  <dependency>
   <groupId>com.mchange</groupId>
   <artifactId>c3p0</artifactId>
   <version>0.9.5.2</version>
  </dependency>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
<Resource
    auth="Container"
    description="DB Connection"
    driverClass="com.mysql.jdbc.Driver"
    maxPoolSize="100" minPoolSize="2"
    acquireIncrement="2"
    name="jdbc/myDB"
    user="root"
    password="123456"
    factory="org.apache.naming.factory.BeanFactory"
    type="com.mchange.v2.c3p0.ComboPooledDataSource"
    jdbcUrl="jdbc:mysql://localhost:3306/attendance_system?characterEncoding=utf8&amp;serverTimezone=GMT%2B8" />

获取连接

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    try {
      //创建上下文
      Context context=new InitialContext();
      //获取数据源
      ComboPooledDataSource comboPooledDataSource= (ComboPooledDataSource) context.lookup
          ("java:comp/env/jdbc/myDB");
      //获取数据库连接
      Connection connection=comboPooledDataSource.getConnection();
      
      if(!connection.isClosed()){
        System.out.println("已经连接成功");
      }
    } catch (NamingException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }

使用druid

导入jar包

?
1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
 <dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid</artifactId>
  <version>1.1.16</version>
 </dependency>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<Resource
  name="jdbc/MysqlDataSource"
  factory="com.alibaba.druid.pool.DruidDataSourceFactory"
  auth="Container"
  type="javax.sql.DataSource"
  driverClassName="com.mysql.cj.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/yl?characterEncoding=utf8&amp;serverTimezone=GMT%2B8"
  username="root"
  password="123456"
  maxActive="50"
  maxWait="10000"
  removeabandoned="true"
  removeabandonedtimeout="60"
  logabandoned="false"
  filters="stat"/>

获取连接

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    try {
      //获取上下文对象
      Context context=new InitialContext();
      //获取数据源
      DataSource ds= (DataSource) context.lookup("java:comp/env/jdbc/MysqlDataSource");
      //获取Connection对象
      Connection connection=ds.getConnection();
      if(!connection.isClosed()){
        System.out.println("连接成功");
      }
    } catch (NamingException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }

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

原文链接:https://www.cnblogs.com/Y-wee/p/13679904.html

延伸 · 阅读

精彩推荐