简要来说,JDBC就是就是连接java和数据库的工具。因为程序会通过数据库驱动来和数据库互动,不同的数据库有不同的驱动,所以诞生了JDBC专门为程序员提供的统一的规范操作。数据库的具体规范实现由数据库厂商去做,对于我们来说只需要掌握JDBC
JDBC相关的程序包
java.sql
javax.sql
还需要导入一个数据库驱动的jar包
不同的数据库需要不同的驱动包。
将驱动包加载进项目的库中。
JDBC的一般步骤是:
加载驱动 用户信息和URL 连接成功 获取到数据库对象,Connection 执行sql对象statement 执行sql的对象 执行sql对象之后返回的结果集 Resultset 释放连接
一个简单的JDBC程序实现:
package jdbc;
import java.sql.*;
/**
* @Author:XK
* @Date: Created in 17:48 2021/10/26
* @Description:
**/
public class jdbcFirstDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2用户信息和URL
String url ="jdbc:mysql://localhost:3306/fisrt21?useUnicod=true&characterEncoding=utf8&useSSL=true";
String username="root";
String password = "2020";
//3连接成功 获取到数据库对象,Connection
Connection connection = DriverManager.getConnection(url,username,password);
//4.执行sql对象statement 执行sql的对象
Statement statement = connection.createStatement();
// 5 . 执行sql对象之后返回的结果集 Resultset
String sql ="select * from class";
ResultSet resultSet= statement.executeQuery(sql);
while (resultSet.next()){
System.out.println(resultSet.getString("class_name"));
}
//6 释放连接
resultSet.close();
statement.close();
connection.close();
}
}
关于url的设置是固定格式,jdbc:mysql://ip:端口号/数据库名?useUnicod=ture....
useUnicode=true&characterEncoding=utf8 指定字符的编码、解码格式 还有其他的配置可以
String url ="jdbc:mysql://localhost:3306/fisrt21?useUnicod=true&characterEncoding=utf8&useSSL=true";
关于这个不需要对象来接是因为Driver类静态代码块已经new出一个驱动不需要再去new。
//1加载驱动 //DriverManager.registerDriver(new Driver) Class.forName("com.mysql.jdbc.Driver");