当前位置: 主页 > 数据库

java数据库连接池-java线程池异常处理

发布时间:2023-02-14 11:03   浏览次数:次   作者:佚名

文章目录

前言

连接池是一种创建和管理连接池的技术,连接池可供任何需要它们的线程使用。

1.什么是JDBC连接池

JDBC即Java DataBase Connectivity,即java数据库连接。  JDBC是一套标准,是Java和各大数据库厂商共同定制的一套接口。 这套接口已经被各大数据库厂商实现。

二、基础知识 1、JDBC连接池技术的优势

(1) 响应速度更快

数据库连接池的初始化过程中,往往会创建若干个数据库连接,放在连接池中备用。 至此,连接的初始化已经完成。 对于业务请求处理,直接使用现有的可用连接,避免数据库连接初始化和释放过程的时间开销,从而减少系统的响应时间。

java线程池异常处理_java数据库连接池_c 内存池开源库

(2) 资源再利用

由于数据库连接可以复用,避免了频繁创建和释放连接带来的大量性能开销。 在降低系统消耗的基础上java数据库连接池,另一方面也增加了系统运行环境的稳定性。

(3)统一连接管理,避免泄露

在一个比较完善的数据库连接池的实现中,可以根据预先占用的超时设置强制回收被占用的连接,从而避免了传统数据库连接操作中可能出现的资源泄漏。

2.JDBC使用步骤

1.导入jar文件

2.加载数据库驱动

MySQL6以下连接驱动版本:com.mysql.jdbc.Driver

c 内存池开源库_java线程池异常处理_java数据库连接池

连接驱动MySQL6及6以上版本:com.mysql.cj.jdbc.Driver

Class.forName("com.mysql.jdbc.Driver");

3.使用驱动管理器获取JDBC连接对象

连接地址格式:主协议:子协议://IP地址:端口号/数据库名

MySQL连接:jdbc:mysql://localhost:3306/test

Oracle连接:jdbc:oracle:thin:@IP地址:1521/ORCL

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123");

4.通过连接对象创建SQL执行对象

c 内存池开源库_java线程池异常处理_java数据库连接池

语句状态 = conn.createStatement();

5.使用SQL执行对象执行SQL语句

state.execute("sql语句");

6.释放连接

状态。 关闭();

康涅狄格州关闭();

3. JDBC常见问题

一、JDBC中Statement和PreparedStatement、CallableStatement的区别

c 内存池开源库_java数据库连接池_java线程池异常处理

PreparedStatement是预编译的SQL语句,比Statement更高效

PreparedStatement 支持 ? 占位符操作,比Statement更灵活。

PreparedStatement 可以防止 SQL 注入,比 Statement 更安全。

CallableStatement 适用于执行存储过程。

2、execute、executeQuery、executeUpdate有什么区别?

Statement 中的 execute(String query) 方法用于执行任何 Sql 查询。 如果查询结果为ResultSet,则该方法返回true。 如果不是 ResultSet,如插入或更新查询,则返回 false。 我们可以通过它的getResultSet方法获取ResultSet,也可以通过getUpdateCount()方法获取更新记录的条数。

Statement中的executeQuery(String query)接口用于执行select query并返回ResultSet。 即使没有找到记录,返回的 ResultSet 也不会为 null。 我们通常使用executeQuery来执行查询语句。 如果传入insert或update语句,会抛出java.util.SQLException,错误信息为“executeQuery方法不能用于update”。

Statement 中的 executeUpdate(String query) 方法执行插入或更新/删除 (DML) 语句,或不返回任何 DDL 语句。 返回值为int类型,如果是DML语句java数据库连接池,则返回受影响的项数,如果是DDL语句,则返回0。

java数据库连接池_c 内存池开源库_java线程池异常处理

仅当不确定语句是什么时才使用 execute() 方法,否则应使用 executeQuery() 或 executeUpdate() 方法。

3.常见的JDBC异常

java.sql.SQLException --> 这是JDBC常用的基类

java.sql.BatchUpdateException --> 当批处理操作执行失败时可能抛出该异常。 取决于具体JDBC驱动的实现,也有可能直接抛出基类异常java.sql.SQLException。

java.sql.SQLWarning --> SQL 操作的警告消息。

java.sql.DataTruncation --> 字段值由于某些异常原因被截断(不是因为它超过了相应字段类型的长度限制)。

总结

提示:这是文章的摘要:

例如:以上就是我们今天要讲的内容。 本文只是简单介绍了pandas的使用,pandas提供了大量的函数和方法可以让我们快速方便地处理数据。