目录
任务描述
本关任务:学会使用jdbc删除数据
1.删除staff员工表中id为4的记录
数据库相关信息:
数据库名:company
表:staff
staff表数据字典:
列名 | 数据类型 | 备注 |
---|---|---|
id | varchar(20) | 员工编号 |
name | varchar(20) | 员工姓名 |
sex | varchar(20) | 员工性别 |
age | int | 员工年龄 |
相关知识
1. 概念
Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
2.使用jdbc常用的几个步骤
-
导入驱动jar包
-
注册驱动
-
获取数据库连接对象 Connection
-
定义sql
-
获取执行sql语句的对象 Statement
-
执行sql,接受返回结果
-
处理结果
-
释放资源
对应的代码实现:
//1. 导入驱动jar包
//2.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//3.获取数据库连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
//4.定义sql语句
String sql = "update account set balance = 500 where id = 1";
//5.获取执行sql的对象 Statement
Statement stmt = conn.createStatement();
//6.执行sql
int count = stmt.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
stmt.close();
conn.close();
3.使用jdbc删除数据示例代码
public static void main(String[] args){
Connection con = null;
Statement sta = null;
try {
// JDBC步骤:
// 1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("加载驱动成功");
// 2.获取连接
con = DriverManager.getConnection("jdbc:mysql:///studet?useUnicode=true&characterEncoding=utf8","root","root");
System.out.println("获取连接成功");
// 3.创建会话
sta = con.createStatement();
// 4.发送sql
String sql = "delete from dept where salg = 100";
int n = sta.executeUpdate(sql); // 除了查询,增删改都属于修改
System.out.println("发送sql成功");
// 5.处理结果
if (n>0){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}finally{
// 6.关闭数据库资源
try {
if (sta != null){
sta.close();// 避免空指针异常
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (con != null){
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
编程要求
根据提示,在右侧编辑器补充代码,完成以下任务:
1.删除staff员工表中id为4的记录
测试说明
平台会对你编写的代码进行测试:
无输入
开始你的任务吧,祝你成功!
参考答案
package step3;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DelData {
public void run() throws SQLException, ClassNotFoundException {
// ---------------------Begin------------------------
//获取数据库连接
Connection connection=this.getConnection();
//获取statement对象
Statement statement=connection.createStatement();
//删除staff员工表中id为4的记录
String sql="delete from staff where id=4";
statement.executeUpdate(sql);
//关闭数据库连接,释放资源
statement.close();
connection.close();
// ---------------------End------------------------
}
public Connection getConnection() throws ClassNotFoundException, SQLException {
// ---------------------Begin------------------------
//获取数据库连接,账户名:root,密码:123123, 数据库名:company,MySQL版本为8.0.20
Class.forName("com.mysql.cj.jdbc.Driver");
String username = "root";
String password = "123123";
String url = "jdbc:mysql://localhost:3306/company?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true";
return DriverManager.getConnection(url, username, password);
// ---------------------End------------------------
}
}