JDBC概念
JDBC全称Java Database Connectivity,即Java数据库连接,也就是用Java语言操作数据库,但是这是一种狭义的概念,其实,更准确的定义JDBC的概念的话,应该是这样子的:JDBC是官方(sun公司)定义的一套操作所有关系型数据库的规则(接口);各个数据库厂商去实现这套接口,提供数据库驱动jar包;我们可以使用这套接口编程,真正执行的代码是驱动jar包中的实现类。
JDBC操作数据库流程
JDBC操作数据库的流程一般分为以下八个步骤:
- 导入驱动jar包;
可参考博客:https://www.cnblogs.com/NyanKoSenSei/p/11510438.html; - 注册驱动(加载jar包进入内存);
- 获取数据库连接对象 Connection;
- 定义需要执行的sql语句;
- 获取sql语句的执行对象 Statement;
- 利用Statement对象执行sql语句;
- 处理结果;
- 释放资源。
JDBC代码实现
首先看一下本次操作的数据库,数据库名为db3,里面有四个表,本次JDBC执行的sql语句是显示db3下的所有表,然后程序最终会返回一个int类型的数据,表示执行sql语句后影响的记录的条数
package day04.jdbc01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1. 导入驱动jar包
// 2. 加载jar包进入内存
Class.forName("com.mysql.jdbc.Driver");
// 3. 获取数据库连接对象
// getConnection方法的第一个参数是数据库的连接路径,格式为"jdbc:mysql://ip地址(域名):端口号/数据库名称";第二个参数是用户名;第三个参数是用户密码
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:4406/db3", "root", "root");
// 4. 定义需要执行的sql语句
String sql = "show tables";
// 5. 获取执行sql语句的对象
// 注意,实际开发中使用的都是PreparedStatement对象,使用Statement对象执行静态sql语句会存在sql注入问题,这里主要用途是演示JDBC操作
Statement statement = connection.createStatement();
// 6. 使用Statement对象执行sql语句
int i = statement.executeUpdate(sql);
// 7. 处理结果,打印返回的i
System.out.println(i); // 这里的i其实是数据库执行操作影响的记录数目,因为在我的db3中一共有4张表,因此返回值为4
// 8. 释放资源
statement.close();
connection.close();
}
}
程序运行结果(打印执行sql语句后影响的记录的条数)