背景

学习数据库的使用,上次没有记录,现在都回忆不起来了,所以这次重新学的时候顺便记录下。

配置环境

  • win10
  • jdk11
  • idea
  • mysql8.0.13

DBCP连接使用

用配置文件目前我连接不来

jar包

  • mysql-connector-java-8.0.14
  • commons-pool2-2.6.0
  • commons-logging-1.2
  • commons-dbcp2-2.5.0

使用代码连接数据库

代码

import org.apache.commons.dbcp2.BasicDataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; BasicDataSource dataSource = new BasicDataSource();
/*mysql数据库的连接,参考我上篇文章*/
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/webdemo?useSSL=false&serverTimezone=UTC");
dataSource.setUsername("root");
dataSource.setPassword("root");

测试

Connection conn = dataSource.getConnection();
String sql = "INSERT INTO category VALUES('ee','ee');";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
/*增删改:执行更新*/
System.out.println(preparedStatement.executeUpdate());

曾经报错

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

解决方法:导入commons-logging.jar

C3P0的使用

jar包

  • c3p0-0.9.5.2
  • mchange-commons-java-0.2.11
  • mysql-connector-java-8.0.14

使用代码连接数据库

代码

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.junit.Test; import java.sql.Connection;
import java.sql.PreparedStatement; public class c3p0Demo {
@Test
public void c3p0Test() throws Exception {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/webdemo?useSSL=false&serverTimezone=UTC");
dataSource.setUser("root");
dataSource.setPassword("root"); Connection conn = dataSource.getConnection();
String sql = "INSERT INTO category VALUES('bvb','gg');";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.executeUpdate(); }
}

曾经报错

java.lang.NoClassDefFoundError:com.mchange.v2.ser.Indirector

解决方法:这是c3p0的一个错误信息,我们在下载 c3p0时候,zip压缩包中,有三个jar,其中一个 c3p0-x.x.x.jar,还有一个  mchange.......jar的文件,导入即可

使用配置文件连接数据库

在src文件夹下创建 c3p0-config.xml ,名字和地址都不能改

配置文件代码,注意其中的 & 要转义为&amp

<c3p0-config>
<default-config>
<!-- 必要参数 -->
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/webdemo?useSSL=false&amp;serverTimezone=UTC</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 下面不是必要的参数 -->
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
<property name="maxStatements">200</property>
</default-config>
</c3p0-config>

测试代码

package cn.wahll.test;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.junit.Test; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; public class c3p0Demo {
@Test
public void c3p0PoolTest() throws Exception {
//直接找到配置文件下的默认配置
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//测试代码
Connection conn = dataSource.getConnection();
String sql = "INSERT INTO category VALUES('bsafvb','asdgg')";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.executeUpdate();
}
}

dbcp_c3p0连接mysql8.0.13的更多相关文章

  1. 【Linux】【MySQL】CentOS7、MySQL8.0.13 骚操作速查笔记——专治各种忘词水土不服

    1.前言 [Linux][MySQL]CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行) 专治各种忘词,各种水土不服. - -,就是一个健忘贵的速查表:(当然不包括SQL的 ...

  2. 使用二进制安装包的方式单机部署MySQL8.0.13

    使用二进制安装包的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于MySQL的介绍我这里就不多做赘述了,如何下载MySQL详情请参考:MySQ ...

  3. mysql8.0.13 的docker镜像安装

    1.从docker中获取mysql8.0.13镜像 docker pull mysql:8.0.13通过 docker images 命令查看镜像是否获取到了 2.运行 mysql8.0.13 镜像 ...

  4. Win10环境下安装压缩包版本MySQL-8.0.13

    准备工作 系统环境:Windows 10 1803版本: 压缩包:MySQL-8.0.13 Windows zip包下载: 安装过程 1. 加载安装包到你的安装目录 将下载的MySQL压缩包解压并移到 ...

  5. mysql8.0.13安装、使用教程图解

    mysql8.0.13安装.使用教程图解 MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Manageme ...

  6. Centos7 安装mysql-8.0.13(rpm)

    yum or rpm? yum安装方式很方便,但是下载mysql的时候从官网下载,速度较慢. rpm安装方式可以从国内镜像下载mysql的rpm包,比较快.rpm也适合离线安装. 环境说明 操作系统: ...

  7. 64位 windows10,MYSQL8.0.13重置密码(忘记密码或者无法登录)

    上一节的MySQL的配置安装里,并没有用到配置文件my.ini.那在MYSQL8.0.13如何解决密码重置问题呢.我去网上搜了好多的资料都是改配置文件my.ini的,后来终于找到了一条命令:操作步骤如 ...

  8. 使用yum源的方式单机部署MySQL8.0.13

    使用yum源的方式单机部署MySQL8.0.13 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 基本上开源的软件都支持三种安装方式,即rmp方式安装,源码安装和二进制方式安装.在 ...

  9. MySQL入门介绍(mysql-8.0.13)

    MySQL入门介绍(mysql-8.0.13单机部署) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL数据库介绍 1>.MySQL是一种开放源代码的关系型数据库 ...

随机推荐

  1. Synergy 一套键鼠同时控制多台电脑

    百度云(1.5是最后一个免费的版本,linux,mac,windows全有): 链接: https://pan.baidu.com/s/1A_qR8FHd8a0ILQXsSqjfCQ 密码: 9h8c

  2. Python之原始数据-1

    一.数据对于模型来说是基础,是数据成就了模型,而现在的又是一个数据时代,比如:淘宝等.通过对用户数据的分析挖掘,预测用户的消费习惯等,再比如:人工智能.通过提取摄像头的图片帧数,通过分析图片,得出具体 ...

  3. Android Studio 生成 keystore 签名文件

    Android Studio 生成 keystore 签名文件 常见 SSL 证书格式 : .DER .CER,文件是二进制格式,只保存证书,不保存私钥. .PEM,一般是文本格式,可保存证书,可保存 ...

  4. java第一次笔试+面试总结

    今天是自己第一次java笔试和面试,总体感觉比预期好一点. 笔试题第一面是问答题,主要考查java基础,一共有18题,我有6道题没有写出来.第二面主要是算法题,一共有8道题,我大概写出来4道题,第三面 ...

  5. 4_PHP流程控制语句_2_循环结构

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP流程控制共有3种类型:条件控制结构.循环结构以及程序跳转和终止语句. 4.2 循环结构 4.2.1 whil ...

  6. Fatal error:Call to undefined function mysqli_connect() in .php line 报错

    这样的问题,多半是PHP配置问题. 修改php配置文件 1.在php(版本:php-7.2.7-Win32-VC15-x64)文件夹中一开始不会看到php.ini,而是php.ini-developm ...

  7. EWA不能及时通过邮件接收

    1. 确保EWA已经配置成功.可以通过SW_workcenter查看 2.确保EWA的邮箱设置成功 3. 检查EWAreport产生的时间 卫星系统:SDCCN 在tab"done" ...

  8. linux操作常用命令

    此篇文章是根据自己经常使用的命令进行记录备忘,不断更新 防火墙(centos7) 永久开放某个端口号: firewall-cmd --zone=public --add-port=8080/tcp - ...

  9. IOS开发之——绘图(CGContext)

    0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGContex ...

  10. Xshell 上传文件到Ubuntu

    打开Xshell,连上一台Linux服务器或者是虚拟机 如果要方便的上传文件,需要rz 先测试是否安装rz 命令行~$ rz 如果出现未安装(或者command not found)且建议sudo a ...