1 JDBC概述
- JDBC(
Java DataBase Connectivity,java数据库连接
)是一种用于执行SQL语句的Java API
。JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口和类组成。
- JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。今天我们使用的是mysql的驱动mysql-connector-java-5.1.37-bin.jar
JDBC规范(掌握四个核心对象):
- DriverManager:用于
注册驱动
(jdbc接口的实现类组成的jar包
) - Connection: 表示与数据库创建的
连接
- Statement: 操作数据库sql语句的
对象
- ResultSet:
结果集
或一张虚拟表
2 JDBC原理
- Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。
JDBC是接口
,驱动是接口的实现
,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。
3 JDBC入门案例
准备数据
create database db_day0301;
use db_day0301;
create table tb_user(
uid int primary key auto_increment,
username varchar(32) not null unique,
password varchar(32) not null,
nickname varchar(32)
);
insert into tb_user values(null,'zhangsan','123','张三'), (null,'lisi','123','李四'), (null,'wangwu','123','王五');
- 导入驱动jar包
- 创建lib目录,存放mysql的驱动mysql-connector-java-5.1.37-bin.jar
- 选中mysql的jar包,右键选择“ Add as Library…” 完成jar导入
开发步骤
注册驱动.
获得连接.
获得执行sql语句的对象
执行sql语句,并返回结果
处理结果
释放资源.
案例实现
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/day03_db";
Connection conn = DriverManager.getConnection(url, "root", "root");
System.out.println("conn = " + conn);
String sql = "select * from tb_user";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
System.out.println("rs = " + rs);
while (rs.next()) {
int uid = rs.getInt("uid");
String username = rs.getString("username");
String password = rs.getString("password");
String nickname = rs.getString("nickname");
System.out.println("uid = " + uid + ", username = " + username + ", password = " + password + ", nickname = " + nickname);
}
rs.close();
stmt.close();
conn.close();
}