JDBC详解

本文深入解析Java数据库连接(JDBC),介绍其工作原理、如何避免资源浪费,以及通过连接池优化性能的方法。探讨了Java代码与数据库类型不匹配的问题,并详细阐述了数据库驱动的作用。此外,还全面解析了事务的概念、特点及隔离级别,帮助读者理解并掌握JDBC在实际应用中的关键技巧。

JDBC详解

1.什么是JDBC?
Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。它JDBC是面向关系型数据库的。

简单地说,就是用于执行SQL语句的一类Java API,通过JDBC使得我们可以直接使用Java编程来对关系数据库进行操作。通过封装,可以使开发人员使用纯Java API完成SQL的执行。

2.思考问题?
1.每次SQL操作都需要建立和关闭连接,这势必会消耗大量的资源开销,如何避免?

分析:可以采用连接池,对连接进行统一维护,不必每次都建立和关闭。事实上这是很多对JDBC进行封装的工具所采用的。

2.Java代码中,传入的数据格式与数据库定义不同怎么办?如把Java的String对象赋值给数据库的tinyint属性。

分析:在执行SQL语句时,数据库会尝试进行转换。根据我的实验,如果用内容为纯字母的String对象传入tinyint的age属性时,会被转化成0。具体转化规则应该和数据库有关。

3.数据库驱动?

我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件。

在这里插入图片描述4.事务?

(1)基本概念:一组要么同时执行成功,要么同时执行失败的SQL语句。是数据库操作的一个执行单元。
(2)事务开始于:连接到数据库上,并执行一条DML语句(INSERT、UPDATE、DELETE) ;前一个事务结束后,又执行新一条DML语句。
(3)事务结束于:执行COMMIT或ROLLBACK;执行一条DDL语句,例如执行CREATE TABLE语句,在这种情况下,会自动执行COMMIT语句;执行一条DCL语句,例如执行GRANT语句,在这种情况下,会自动执行COMMIT语句;断开与数据库连接;执行一条DML语句,该语句却失败了,在这种情况中,会为这个无效的DML语句执行ROLLBACK语句。

5.事务的四大特点(ACID)?
atomicity(原子性)
表示一个是屋内的所有操作是一个整体,要么全部成功,要么全部失败。
consistency(一致性)
表示一个事务内有一个操作失败时,所有的更改过的数据都必须回滚到修改前的状态。
islation(隔离性)
事务查看数据时所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不回查看中间状态的数据。
durability(持久性)
持久性事务完成后,他对于系统的影响是永久性的。

6.事务隔离级别从低到高?
读取未提交
读取已提交
可重复读
序列化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值