1. JDBC 概述
1.1 客户端操作数据库的方式
- 方式1: 使用第三方客户端来访问 MySQL
- 方式2: 使用命令行
- 方式3:通过 Java程序 来访问 MySQL 数据库
1.2 什么是JDBC
JDBC(Java Data Base Connectivity) 是
Java
访问数据库的标准规范
.
是一种用于执行
SQL
语句的
Java API
,可以为 多种关系数据库提供统一访问,它由一组用Java
语言编写的类和接口组成。是
Java
访问数据库的标准规范。
1.3 JDBC 原理
JDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需 要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。
总结: JDBC就是由sun公司定义的一套操作所有关系型数据库的规则(接口),而数据库厂商需要实现这套接口,提供数据库 驱动jar包, 我们可以使用这套接口编程,真正执行的代码是对应驱动包中的实现类。
2. JDBC 开发
2.1 数据准备
-- 创建 jdbc_user表
CREATE TABLE jdbc_user (
id INT PRIMARY KEY AUTO_INCREMENT ,
username VARCHAR(50),
PASSWORD VARCHAR(50),
birthday DATE
);
-- 添加数据
INSERT INTO jdbc_user (username, PASSWORD,birthday)
VALUES('admin1', '123','1991/12/24'),
('admin2','123','1995/12/24'),
('test1', '123','1998/12/24'),
('test2', '123','2000/12/24');
2.2 MySql驱动包
1.
将
MySQL
驱动包添加到
jar
包库文件夹中
2.
在
idea
中配置
jar
包库的位置
3.
创建一个新的项目
,
配置
jar
包库
2.3 API使用
1.
获取驱动
(
可以省略
)
2.
获取连接
3.
获取
Statement
对象
4.
处理结果集
(
只在查询时处理
)
5.
释放资源
public class JDBCDemo04 {
public static void main(String[] args) throws SQLException {
//1.注册驱动 可以省略
//2.获取连接
String url = "jdbc:mysql://localhost:3306/db4";
Connection con = DriverManager.getConnection(url, "root", "123456");
//3.获取 Statement对象
Statement statement = con.createStatement();
String sql = "select * from jdbc_user";
//执行查询操作,返回的是一个 ResultSet 结果对象
ResultSet resultSet = statement.executeQuery(sql);
//4.处理结果集
// //next 方法判断是否还有下一条数据
// boolean next = resultSet.next();
// System.out.println(next);
//
// //getXXX 方法获取数据 两种方式
// int id = resultSet.getInt("id");//列名
// System.out.println(id);
//
// int anInt = resultSet.getInt(1);//列号
// System.out.println(anInt);
//使用while循环
while(resultSet.next()){
//获取id
int id = resultSet.getInt("id");
//获取姓名
String username = resultSet.getString("username");
//获取生日
Date birthday = resultSet.getDate("birthday");
System.out.println(id + " = " +username + " : " + birthday);
}
//关闭连接
resultSet.close();
statement.close();
con.close();
}
}
public class JDBCDemo05 {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
//1.注册驱动(省略)
//2.获取连接
String url = "jdbc:mysql://localhost:3306/db4";
connection = DriverManager.getConnection(url, "root", "123456");
//3.获取 Statement对象
statement = connection.createStatement();
String sql = "select * from jdbc_user";
resultSet = statement.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
/**
* 开启顺序: connection ==> statement => resultSet
* 关闭顺序: resultSet ==> statement ==> connection
*/
try {
connection.close();
resultSet.close();
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}