目录
什么是JDBC?
JDBC:Java Data Base Connectivity
是一种规范,提供一套完整的接口,允许便携式访问底层数据库,JDBC实现用Java代码对数据库进行增删改查操作
如何使用JDBC?
在使用JDBC之前,需要在IDEA中进行一些配置
连接数据库
在弹出的框中填写想要链接的数据库的名称,
单击OK,数据库就连接成功了。
添加依赖
在网址:http://mvnrepository.com/artifact/mysql/mysql-connector-java中,选择想要下载的依赖版本,这里选择8.0.27,点击jar进行下载
下载完成后,将jar包放在Java文件的根目录下。
右键jar包,选择add to library(添加为库),再点击确定,添加成功。
JDBC常用接口
JDBC由许多重要的接口组成,接下来介绍一下JDBC的几个基础常用接口:
DriverManager
DriverManager
是 Java 数据库连接(JDBC)API 中的一个类,它负责管理一组数据库驱动程序。通过DriverManager
,应用程序可以与不同的数据库进行连接,而无需了解底层数据库驱动的实现细节。
通过DriverManager
的getConnection()
方法,应用程序可以建立与指定数据库的连接,用户只需提供数据库 URL、用户名和密码等信息
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
Connection
Connection
是数据库的连接对象,可以通过Connection
来创建一个Statement
,与数据库进行交互,执行 SQL 语句
Connection
对象是通过 DriverManager.getConnection()
方法创建的。你需要提供数据库的 URL、用户名和密码来建立连接
通过 Connection
,可以创建 Statement
或 PreparedStatement
对象来执行 SQL 查询和更新操作
Statement
Statement
用于执行 SQL 语句并返回查询结果
通过 Statement
,可以使用 executeQuery()
方法执行 SELECT
查询,并返回 ResultSet
对象,包含查询的结果
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
使用 executeUpdate()
方法执行更新、插入、删除等 SQL 操作,它会返回一个整数,表示受影响的行数
int rowsUpdated = statement.executeUpdate("UPDATE users SET age = 30 WHERE id = 1");
使用 execute()
方法来执行任何 SQL 语句,包括查询、更新、DDL(数据定义语言)等。如果是查询语句,execute()
会返回 true
;如果是更新操作,则返回 false
boolean isResultSet = statement.execute("SELECT * FROM users");
除此之外,Statement
支持批量执行多条 SQL 语句。可以通过 addBatch()
方法将多个 SQL 操作加入批次,然后通过 executeBatch()
方法执行这些操作
statement.addBatch("INSERT INTO users (name, age) VALUES ('Alice', 25)");
statement.addBatch("INSERT INTO users (name, age) VALUES ('Bob', 30)");
int[] results = statement.executeBatch();
使用JDBC执行SQL语句
通过学习以上几个接口,可以了解到想要用JDBC执行SQL语句,一共需要如下步骤:
- 使用DriverManager建立连接Connection
- 使用Connection建立数据库对象Statement
- 执行语句
按照步骤写出代码如下:
//1.通过drivermanager来获得数据库连接
try(Connection connection = DriverManager.getConnection("connect url","username","password")
//2.创建一个用于执行SQL的statement对象
Statement statement = connection.createStatement()){
//3.执行SQL语句,并得到结果集
ResultSet set = statement.executeQuery("select * from 表名");
//4.查看结果
}catch(SQLException e){
e.printStackTrace();
}
与数据库交互的操作(如创建连接、执行 SQL 语句、获取结果集等)可能会因为各种原因失败,因此需要抛出 SQLException
以上使用了 executeQuery()
方法,返回的内容为查询的结果
如果要对数据库进行其他的操作,例如更新、删除等,则可以采用 executeUpdate()
方法或execute()
方法
需要注意的是,executeQuery()
返回的ResultSet的下标是从1开始,因此想要查看返回的结果,应该从1开始循环,即
while(set.next()){
//在这里面set的第一行是从1开始
System.out.println(set.getString(1));
}