原理
1. 什么是JDBC
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。JDBC是面向关系型数据库的。
2. JDBC需要的条件
a. 需要给予当前Java程序对应当前数据库的【驱动】。提供条件建
立数据库和Java程序的桥梁
b. JDBC规范的url
jdbc:mysql://localhost:3306/java2021
jdbc: 主协议,当前主协议为JDBC协议,当前URL为一个JDBC协议URL
mysql: 子协议,表示当前数据库选择为MySQL
localhost:3306 当前数据库所在的IP地址,域名或者主机名已经当前数据库
对应的【端口号】。端口号是程序在
服务器中的唯一编号
java2021: 当前Java程序操作的所有SQL语句对应数据库是哪一个
c. 提供对应的用户名和密码信息,要求数据类型为字符串类型。
基础使用
1. 核心API
class java.sql.DriverManager 驱动管理类
--| void registerDriver(java.sql.Driver driver);
加载Java程序连接数据库所需驱动类【java.sql.Driver接口规范】
--| java.sql.Connection getConnection(String url, String username, String password);
通过JDBC规范url,对应数据库用户名和密码连接获取数据库连接对象 【java.sql.Connection 接口】
interface java.sql.Conection 数据库连接接口
--| java.sql.Statement createStatement();
获取数据库SQL语句搬运工对象,不对SQL语句进行任何的检查,直接从Java代码搬运到数据库执行。 【java.sql.Statement 接口】
--| java.sql.PreparedStatement prepareStatement(String sql);
获取数据库SQL语句【预处理搬运工对象】,会对SQL语句进行预处理操作,允许SQL语句使用参数占位。可以避免基本的SQL注入问题。【java.sql.PreparedStatement 接口】
interface java.sql.Statement 数据库搬运工对象
--| int executeUpdate(String sql);
执行update,delete,insert 对应SQL语句,返回值类型是当前SQL语句操作数据库,对数据行的影响行数。
Query OK, 1 row affected
--| java.sql.ResultSet executeQuery(String sql);
执行select 对应SQL语句,返回值类型是查询结果集对象。【java.sql.ResultSet 接口】
interface java.sql.PreparedStatement 预处理SQL语句搬运工对象
--| int executeUpdate();
执行在获取PreparedStatement对象预处理SQL语句过程中对应的SQL语句,可以处理update,delete,insert SQL语句,返回值类型是数据行受到影响的行数。
--| java.sql.ResultSet executeQuery();
执行在获取PreparedStatement对象预处理SQL语句过程中对应的SQL语句,可以处理select SQL语句,返回值类型是查询结果集对象【java.sql.ResultSet 接口】
--| setXXX(int index, XXX value);
给予当前SQL语句参数占位符赋值操作。可以支持任意类型,
推荐使用 void setObject(int index, Object value);
interface java.sql.ResultSet 数据库查询结果集对象
--| XXX getXXX(int columnCount);
可以获取任意数据类型,要求根据当前字段对应数据类型来选择对应处理方式。要求传入的参数是查询结果集中的字段下标位置。
--| XXX getXXX(String fieldName);
可以获取任意数据类型,要求根据当前字段对应数据类型来选择对应处理方式。根据字段名字获取对应字段数据。
int getParameterCount();
int getColumnCount();
String getColumnName(int index);
2.使用步骤
a. 加载驱动,让Java程序具备连接数据库的能力
b. 准备数据库连接使用URL
c. 准备数据库连接所需的用户名和密码
d. 通过DriverManager驱动管理类使用getConnection方法获取数据库连接对象
e.执行查询或更新
f. 关闭连接
例:
// 1. 加载驱动,让Java程序具备连接数据库的能力
// com.mysql.jdbc.Driver 第三方Jar提供的数据库连接使用驱动
Class.forName("com.mysql.jdbc.Driver");
// 2. 准备数据库连接使用URL
String url = "jdbc:mysql://localhost:3306/java2021";
// 3. 准备数据库连接所需的用户名和密码
String user = "root";
String password = "123456";
// 4. 通过DriverManager驱动管理类使用getConnection方法获取数据库连接对象
Connection connection = DriverManager.getConnection(url, user, password);
// 5. 展示连接对象信息
System.out.println(connection);
// 6. 关闭资源
connection.close();