1.JDBC
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBC {
private static Connection getConnection() throws ClassNotFoundException, SQLException {
// JDBC驱动名和数据库URL
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/student?useSSL=false&allowPublicKeyRetrieval=true";
// 数据库用户名和密码
String user = "root";
String password = "root";
// 加载JDBC驱动
Class.forName(driver);
// 获取数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
}
连接MySQL
注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//加载驱动:加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名
获取连接
Connection com =
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student", "root", "root");
// JDBC URL的标准由三部分组成,各部分间用冒号分隔。
jdbc:子协议:子名称
// jdbc:协议
// mysql:子协议 子协议用于标识一个数据库驱动程序
//子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,
//用子名称的目的是为了定位数据库提供足够的信息。包含主机名(对应服务端的ip地址),端口号,数据库名
获取执行者连接
Statement stat = com.createStatement();
执行 SQL 语句,并接受结果
while (rs.next()){
System.out.println(rs.getInt("id") + "\t" + rs.getString("name"));
}
处理结果
while (rs.next()){
System.out.println(rs.getInt("id") + "\t" + rs.getString("name"));
}
释放资源
1.1JDBC简介
概念:JDBC(Java DataBase Connectivity) :Java数据库连接技术:具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删、改、查等操作的技术
1.2 JDBC技术相关接口
接口 | 作用 |
---|---|
Driver | 驱动接口,定义建立链接的方式 |
DriverManager | 工具类,用于管理驱动,可以获取数据库的链接 |
Connection | 表示Java与数据库建立的连接对象(接口) |
PreparedStatement | 发送SQL语句的工具 |
ResultSet | 结果集,用于获取查询语句的结果 |
JDBC开发六步
1. 加载驱动
2. 获取链接
3. 准备SQL以及发送SQL的工具
4. 执行SQL
5. 处理结果集
6. 释放资源
查询自己是否连接到数据库
package com.mysql;
import java.sql.*;
public class JDBC {
public static void main(String[] args) {
String driver="com.mysql.cj.jdbc.Driver";//数据库驱动类所对应的字符串
String URL="jdbc:mysql://localhost:3306/student?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
//URL语法格式如下
//jdbc:mysql:是固定的写法,后面跟主机名localhost,3306是默认的MySQL端口号
//serverTimezone=UTC是指定时区时间为世界统一时间
//useUnicode=true是指是否使用Unicode字符集,赋值为true
//characterEncoding=utf-8是指定字符编码格式为UTF8
Connection conn=null;
//Connection接口代表Java程序和数据库的连接对象,只有获得该连接对象后,才能访问数据库,并操作数据表
try {
Class.forName(driver);//加载MySQL数据库驱动
}catch(java.lang.ClassNotFoundException e) {//如果找不到这个类,执行下面的异常处理
System.out.println("驱动程序配置未配置成功!!!");
}
try {
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8","root","root");//建立和数据库的连接,并返回表示连接的Connection对象
System.out.println("数据库连接成功!!!");
}catch(Exception e) {//未连接成功,执行下面的异常处理
System.out.println("数据库连接失败!!!");
}
}
}