MySQL的JDBC操作
1.JDBC概述
JDBC(Java DateBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以为不同关系型数据库提供统一访问,它由一组用Java 语言编写的接口和类组成。
JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。
2.JDBC入门案例
JDBC核心类和接口
DriverManager:用于注册驱动
Connection:表示与数据库创建的连接
Statement/PrepareStatement:操作数据库sql语句的对象
ResultSet:结果集或一张虚拟表
执行流程
3.代码实现
create database if not exists mydb16_jdbc;
use mydb16_jdbc;
create table if not exists student(
sid int primary key auto_increment,
sname varchar(20),
age int
);
insert into student values(null,'宋江',30),(null,'武松',28),(null,'林冲',26);
package cn.histwen.jdbc;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcDemo01{
public static void main (String[] args) throws SQLException {
//1.注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2.获取连接
Connection connection DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb16_jdbc","root","123456");
//3.执行sql
Statement statement = connection.createStatement();
ResultSet resultSet = statement .executeQuery("select * from student");
//4.处理结果集
while(resultSet.next()){//获取每一行数据
// 获取每一列数据
int sid = resultSet.getInt("sid");
String sname = resultSet.getString("sname");
int age = resultSet.getInt("age");
System.out.println(sid + "\t" + sname + "\t" + age);
}
//5.关闭连接
resultSet.close();
statement.close();
connection.close();
}
}
4.增删改操作
package cn.histwen.jdbc;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcDemo01{
public static void main (String[] args) throws SQLException {
//1.注册驱动(系统会自动执行)
//2.获取连接
Connection connection DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb16_jdbc","root","123456");
//3.执行sql
Statement statement = connection.createStatement();
//3.1增加数据
int rows1 = statement.executeUpdate("insert into student values(null,'鲁智深',40)");
//3.2修改数据
int rows2 = statement.executeUpdate("update student set age = 48 where sname = '武松'");
//3.3删除数据
int rows3 = statement.executeUpdate("delete from student where sname = '鲁智深'");
resultSet.close();
statement.close();
connection.close();
}
}