目录
任务描述
本关任务:学会使用jdbc向mysql数据库插入数据
1.向staff员工表中插入id为5,名字为:李敏,性别为:女,年龄为:21的数据
数据库相关信息:
数据库名: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向数据库中插入数据示例代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 导入mysql的jar包
// JDBC步骤:
// 1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("加载驱动成功");
// 2.获取连接
/**
* url:协议+IP+端口+资源
* user:用户名
* password:密码
*/
Connection con = DriverManager.getConnection("jdbc:mysql:///studet?useUnicode=true&characterEncoding=utf8","root","root");
System.out.println("获取连接成功");
// 3.创建会话
Statement sta = con.createStatement();
// 4.发送sql
String sql = "insert into dept values(null,'java',90 )";
int n = sta.executeUpdate(sql);
System.out.println("发送sql成功");
// 5.处理结果
if (n>0){
System.out.println("插入成功");
}else{
System.out.println("插入失败");
}
// 6.关闭数据库资源
sta.close();
con.close();
}
}
编程要求
根据提示,在右侧编辑器补充代码,完成以下任务:
1.向staff员工表中插入id为5,名字为:李敏,性别为:女,年龄为:21的数据
测试说明
平台会对你编写的代码进行测试:
无输入
开始你的任务吧,祝你成功!
参考答案
package step2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class AddData {
public void run() throws SQLException, ClassNotFoundException {
// ---------------------Begin------------------------
//获取数据库连接
Connection connection = this.getConnection();
//获取statement对象
Statement statement = connection.createStatement();
//向staff员工表中插入id为5,名字为:李敏,性别为:女,年龄为:21的数据
String sql = "INSERT INTO `company`.`staff` (`id`, `name`, `sex`, `age`) VALUES ('5', '李敏', '女', '21')";
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------------------------
}
}