java数据库连接池-java线程池异常处理
文章目录
前言
连接池是一种创建和管理连接池的技术,连接池可供任何需要它们的线程使用。
1.什么是JDBC连接池
JDBC即Java DataBase Connectivity,即java数据库连接。 JDBC是一套标准,是Java和各大数据库厂商共同定制的一套接口。 这套接口已经被各大数据库厂商实现。
二、基础知识 1、JDBC连接池技术的优势
(1) 响应速度更快
在数据库连接池的初始化过程中,往往会创建若干个数据库连接,放在连接池中备用。 至此,连接的初始化已经完成。 对于业务请求处理,直接使用现有的可用连接,避免数据库连接初始化和释放过程的时间开销,从而减少系统的响应时间。
(2) 资源再利用
由于数据库连接可以复用,避免了频繁创建和释放连接带来的大量性能开销。 在降低系统消耗的基础上java数据库连接池,另一方面也增加了系统运行环境的稳定性。
(3)统一连接管理,避免泄露
在一个比较完善的数据库连接池的实现中,可以根据预先占用的超时设置强制回收被占用的连接,从而避免了传统数据库连接操作中可能出现的资源泄漏。
2.JDBC使用步骤
1.导入jar文件
2.加载数据库驱动
MySQL6以下连接驱动版本:com.mysql.jdbc.Driver
连接驱动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执行对象
语句状态 = conn.createStatement();
5.使用SQL执行对象执行SQL语句
state.execute("sql语句");
6.释放连接
状态。 关闭();
康涅狄格州关闭();
3. JDBC常见问题
一、JDBC中Statement和PreparedStatement、CallableStatement的区别
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。
仅当不确定语句是什么时才使用 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提供了大量的函数和方法可以让我们快速方便地处理数据。