tomcat中使用mysql连接池的配置

时间:2021-07-29 05:09:11

1、下载相应的jar包,添加到工程中

需要下载的包主要有commons-pool2-2.2 commons-dbcp2-2.0.1-src commons-dbcp2-2.0.1  commons-collections4-4.0

2、tomcat的相关配置

在WebContent的META-INF下新建context.xml文件输入如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<context>
<Resource name="jdbc/Mysql"
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
type="javax.sql.DataSource"
url="jdbc:mysql://127.0.0.1:3306/my_report"
username="root"
password="21424019"
maxActive="100"
maxIdle="30"
maxWait="1000"/>
</context>

3.在C盘目录下新建my.ini文件

文件内容如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
basedir = E:\develope_software\MySQL\mysql-advanced-5.6.20-winx64
datadir = E:\develope_software\MySQL\mysql-advanced-5.6.20-winx64\data
# port = .....
# server_id = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

当tomcat启动使用mysql连接池时会读取c盘根目录下的my.ini

4、修改web.xml,添加如下内容

<resource-ref>
<description>Connection Pool</description>
<res-ref-name>jdbc/Mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

5、连接池操作

package com;

//import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

import java.sql.*;

public class Mysql {

private static final String DRIVER="com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://127.0.0.1:3306/my_report";
private static final String USERNAME = "root";
private static final String PASSWORD = "21424019";
Connection con = null;
ResultSet result = null;
PreparedStatement statement = null;
PreparedStatement stateInsert = null;
PreparedStatement stateUnlock = null;

public Connection getConnection() throws SQLException //获取数据库连接
{
DataSource datapool = ConnectionPool.getDataSource();
if(datapool!=null)
{
con = datapool.getConnection();
return con;
}
else
System.out.println("数据库连接池对象为空");
return null;
}

public ResultSet executeQuery(String sql) { //负责数据查询
try {
con = this.getConnection();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(con!=null)
{
try {
statement = (PreparedStatement) con.prepareStatement(sql);
result = statement.executeQuery();
return result;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("query data failed");
}
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}

public int executeUpdate(String sql)//负责数据更新
{
try {
con = this.getConnection();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
statement = (PreparedStatement) con.prepareStatement(sql);
int result = statement.executeUpdate(sql);
return result;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("query data failed");
}
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return -1;
}
return 0;
}
}

tomcat中使用mysql连接池的配置的更多相关文章

  1. python中实现mysql连接池

    python中实现mysql连接池 import pymysql from DBUtils.PooledDB import PooledDB MYSQL_HOST = 'localhost' USER ...

  2. Hibernate的配置中,c3p0连接池相关配置

    一.配置c3p0 1.导入 hibernate-c3po连接池包,Maven地址是:http://mvnrepository.com/artifact/org.hibernate/hibernate- ...

  3. Spring&plus;Tomcat的JNDI数据源连接池简单配置

    使用Tomcat JNDI数据源与Spring一起使用步骤如下: 1.将数据库驱动复制到Tomcat的lib文件夹下面 2.配置Tomcat的server.xml配置文件,在GlobalNamingR ...

  4. JNDI实现服务器&lpar;tomcat&rpar;与数据库&lpar;mysql&rpar;连接的数据源配置以及获取连接的java代码

    ->首先将mysql的jar包导入到tomcat/lib文件夹下 ->然后在tomcat/conf/context.xml文件中配置以下内容 <Resource name=&quot ...

  5. Tomcat配置MySql连接池问题

    配置过程如下: 1.修改Tomcat—>conf目录下的context.xml文件 <Context path="/DBTest" docBase="DBTe ...

  6. Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  7. 如何在 Swoole 中优雅的实现 MySQL 连接池

    如何在 Swoole 中优雅的实现 MySQL 连接池 一.为什么需要连接池 ? 数据库连接池指的是程序和数据库之间保持一定数量的连接不断开, 并且各个请求的连接可以相互复用, 减少重复连接数据库带来 ...

  8. JAVA中事物以及连接池

    一.事物 什么是事物? 事务,一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元.这些单元要么全都成功,要么全都不成功. 做一件事情,这个一件事情中有多个 ...

  9. springboot中的那些连接池

    hello~各位读者新年好! 回想起前几天在部署springboot项目到正线时,线上环境要求jdk7,可项目是基于jdk8开发的,springboot也是用的springboot2以上的版本,可以说 ...

随机推荐

  1. 【转】Linux下Fork与Exec使用

    Linux下Fork与Exec使用 转自 Linux下Fork与Exec使用 一.引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值.for ...

  2. PHP之static静态变量详解(二)

    在看别人项目过程中,看到函数里面很多static修饰的变量,关于static修饰的变量,作用域,用法越看越困惑,所以查了下资料. static用法如下: 1.static 放在函数内部修饰变量 2.s ...

  3. 安卓更新sdk的代理

     mirrors.neusoft.edu.cn80    

  4. 编译代码报出Android library projects cannot be launched错误的解决

    Android library projects cannot be launched错误的解决方法: 右键工程根目录->properties 左侧选择->android

  5. Delphi 让自己的软件实现双击打开文件 转

    unit shjAssociateFileType; interface uses Windows, Registry; {将文件类型strFileExtension与程序strExeFileName ...

  6. HBase在京东的完善与创新

    随着大数据处理时代的到来,NoSQL风生水起.京东作为国内最大的综合网络零售商,随着业务数据量爆发式增长,传统的关系数据库在海量数据面前开始显得捉襟见肘,于是京东云平台在Hadoop生态集群经验积累的 ...

  7. GMM&plus;Kalman Filter&plus;Blob 目标跟踪

    转 http://www.cnblogs.com/YangQiaoblog/p/5462453.html ==========图片版================================== ...

  8. java 学习连接

    @Repository.@Service.@Controller 和 @Component   注解:http://blog.csdn.net/ye1992/article/details/19971 ...

  9. kafka5 编写简单生产者

    一 客户端 1.打开eclipse,新建maven项目(new-->other-->Maven Project-->Artifact Id设为mykafka). 2.配置Build ...

  10. Mysql日期时间Extract函数介绍

    MySQL日期时间Extract函数的优点在于可以选取日期时间的各个部分,从年一直到微秒,让我们对MySQL日期时间的处理更为轻松. MySQL 日期时间 Extract(选取)函数.1. 选取日期时 ...