背景

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

配置环境

  • 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();
}
}

最新文章

  1. uva116
  2. 数据分析:中国高校更名历史 Python
  3. 第一次使用Android Studio时你应该知道的一切配置
  4. Daily Scrum 11.3
  5. oracle 之 游标
  6. 习题-第5章Web自动化测试
  7. iOS边练边学--多线程练习的多图片下载 以及 使用第三方框架(SDWebImage)的多图片下载
  8. 暑假集训(3)第三弹 -----Til the Cows Come Home(Poj2387)
  9. mysql基本内容学习过程
  10. modelsim脚本文件的编写
  11. 常用的WebService调用接口
  12. ajax使用中发现的问题与深入扩展(for循环中嵌套ajax)
  13. Android apk逆向实战
  14. 济南清北学堂游记 Day 6.
  15. LeetCode专题-Python实现之第14题:Longest Common Prefix
  16. JDK 在 Linux 上安装的详细过程
  17. OAuth2认证和授权:ClientCredentials认证
  18. WINDOWS SERVER 2016 设置使用照片查看器查看图片
  19. DataSnap ClientdataSet 三层中主从表的操作
  20. loadrunner如何对mysql进行增删改查

热门文章

  1. 全栈项目|小书架|服务器开发-NodeJS 项目分包
  2. EfCore基本用法
  3. pfSense QoS IDS
  4. 【转】Java最常见的200+面试题
  5. dnmp安装
  6. layui切换
  7. Android笔记(十六) 简易计算器
  8. Win10开启蓝屏信息记录及文件查看位置的方法
  9. window kvm 虚拟机的创建
  10. 使用Atmel Studio编程Arduino Uno开发板