题目:
1.创建一个数据库(学号+姓名缩写,如: 2020001zs)在数据库中创建一张表 (五个以上字段) ;
2.使用JDBC(使用PreparedStatement接口) 操作数据库对表中的数据进行增删改查操作
目录
一、数据库
1.创建数据库
2.创建表
3.添加数据
二、JDBC
1.准备环境
2.查询数据
3.添加数据
4.删除数据
5.修改数据
一、数据库
1.创建数据库
2.创建表
题目说:数据库中创建一张表(五个以上字段),咋们就弄5个
drop table if exists student_course;
create table student_course
(course_id varchar(10) comment '课程号',course_name varchar(15) comment '课程名',course_number double unsigned comment '学分数',student_time int unsigned comment '学时数',teacher varchar(10) comment '任课教师'
)comment '课程表';select *
from student_course;
3.添加数据
INSERT INTO student_course
values ('K001', '计算机图形学', 2.5, 40, '胡晶晶'),('K002', '计算机应用基础', 3, 48, '任泉'),('K006', '数据结构', 4, 64, '马跃先'),('M001', '政治经济学', 4, 64, '孔繁新'),('S001', '高等数学', 3, 48, '赵晓尘');select *
from student_course;
二、JDBC
1.准备环境
点击进入mysql jar包下载官网
MySQL如果是5版本:
我的mysql是8版本,所以下载这个:
解压:
2.查询数据
5.x版本的驱动文件jar包对应的是:
Class.forName("com.mysql.jdbc.Driver");
语句来加载数据库驱动
而我使用的是8.0x版本的数据库驱动文件,对此,需要将加载数据库驱动的语句更改为:
Class.forName("com.mysql.cj.jdbc.Driver");
import java.sql.*;public class Main {public static void main(String[] args) throws Exception {PreparedStatement ps = null;Connection con = null;ResultSet rs = null;try {Class.forName("com.mysql.cj.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");String sql = "select * from student_course;";ps = con.prepareStatement(sql);rs = ps.executeQuery();while (rs.next()) {System.out.println("编号:" + rs.getString(1) + "\t" + "课程名:" + rs.getString(2) + "\t" + "学分数:" + rs.getString(3) + "\t" + "学时数:" + rs.getString(4) + "\t" + "任课教师:" + rs.getString(5));}rs.close();ps.close();con.close();} catch (Exception e) {e.printStackTrace();}}}
3.添加数据
import java.sql.*;
public class InsertData {public static void main(String[] args) {Connection con = null;PreparedStatement ps = null;try {Class.forName("com.mysql.cj.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");String sql = "INSERT INTO student_course values(?,?,?,?,?);";ps = con.prepareStatement(sql);ps.setString(1, "K111");ps.setString(2, "javaWeb");ps.setDouble(3, 3);ps.setInt(4, 48);ps.setString(5, "丁老师");ps.execute();ps.close();con.close();} catch (Exception e) {e.printStackTrace();}}
}
4.删除数据
import java.sql.*;public class DeleteData {public static void main(String[] args){Connection con = null;PreparedStatement ps = null;try {Class.forName("com.mysql.cj.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");String sql = "delete from student_course where course_id = ?;";ps = con.prepareStatement(sql);ps.setString(1,"K111");ps.execute();ps.close();con.close();}catch (Exception e){e.printStackTrace();}}
}
之前添加的数据被删除了
5.修改数据
import java.sql.*;public class UpdateData {public static void main(String[] ags){Connection con = null;PreparedStatement ps = null;try {Class.forName("com.mysql.cj.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");String sql = "update student_course set course_name = ?,teacher = ? where course_id = ?;";ps = con.prepareStatement(sql);ps.setString(1,"SpringCloud");ps.setString(2,"王老师");ps.setString(3,"S001");ps.execute();ps.close();con.close();}catch (Exception e){e.printStackTrace();}}
}
代码冗余严重,之后会有工具类简化