
本文共 2069 字,大约阅读时间需要 6 分钟。
重新优化后的文章内容
前言
在我们日常使用的 APP 或网站中,往往需要存取数据,比如在微信中,需要存储我们的用户名、手机号、用户密码…… 等一系列信息。依靠之前所学习的 Java 相关知识已经无法满足这一需求。现在的应用程序中最基本、应用最广的也就是关系型数据库,如 MySQL。Java 语言中为了实现与关系型数据库的通信,制定了标准的访问接口,即 JDBC(Java Database Connectivity)。本文主要介绍在 Java 中使用 JDBC 的相关知识,主要内容如下:
JDBC 简介
JDBC(Java Database Connectivity),即 Java 数据库连接。是 Java 语言中用于规范客户端程序如何来访问数据库的应用程序接口,它是面向关系型数据库的,提供了查询和更新数据库中数据的方法。本文以 MySQL 来演示如何使用 JDBC,所以需要事先在你的机器上准备好 MySQL,而且最好是懂一些 MySQL 的使用。
数据的增删改查
当我们初始化并建立 JDBC 连接之后,我们就可以对数据库进行 CRUD (增加、查询、更新、删除)等操作。在正式开始 CRUD 前,我们最好先了解下 MySQL 中的数据类型在 Java 中所对应的数据类型,以便后续操作数据。一般来讲,两者中的数据类型对应关系如下表所示:
SQL 中的数据类型 | 对应的 Java 数据类型 |
---|---|
BIT、BOOL | boolean |
INTEGER、BIGINT | int、long |
REAL、FLOAT、DOUBLE | float、double |
CHAR、VARCHAR | String |
DECIMAL | BigDecimal |
DATE、TIME、LOCALDATE | java.sql.Date、LocalDate |
TIME、LOCALTIME | java.sql.Time、LocalTime |
此外,为了避免 SQL 注入问题,我们优先采用 PreparedStatement 而非 Statement。
查询数据
查询操作的步骤如下:
需要注意的点:
- 如果不使用 try-with-resources,记得手动关闭 Statement 和 Connection。
- ResultSet 的索引从 1 开始。
增加数据
新增数据的步骤如下:
删除数据
删除数据的步骤如下:
修改数据
修改数据的步骤如下:
事务
事务是数据库操作的核心概念,满足 ACID 的四个特性:原子性、一致性、隔离性和持久性。事务可以防止数据不一致和并发问题。
隔离级别
SQL 标准定义了 4 个隔离级别,从低到高分别是:
隔离级别与脏读、幻读的关系如下:
隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
READ-UNCOMMITTED | ✔ | ✔ | ✔ |
READ-COMMITTED | ❌ | ✔ | ✔ |
REPEATABLE-READ | ❌ | ❌ | ✔ |
SERIALIZABLE | ❌ | ❌ | ❌ |
事务操作
连接池
连接池用于管理数据库连接,避免重复创建和关闭连接,提高应用性能。常用的连接池工具有 C3P0 和 Druid。
C3P0
Druid
总结
今天的学习内容到此结束。关于文中有错或遗漏的地方,还烦请各位大佬在评论区指出来。我是村雨遥,一个技术栈主要为 Java 的菜鸟程序员,关注我,一起学习成长吧!
发表评论
最新留言
关于作者
