JDBC增删改查

第1关:jdbc基础知识

第2关:jdbc增加数据

任务描述

本关任务:学会使用jdbc向mysql数据库插入数据

1.向staff员工表中插入id为5,名字为:李敏,性别为:女,年龄为:21的数据

数据库相关信息:

数据库名:company

表:staff

staff表数据字典:

列名数据类型备注
idvarchar(20)员工编号
namevarchar(20)员工姓名
sexvarchar(20)员工性别
ageint员工年龄

相关知识

1. 概念

Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

2.使用jdbc常用的几个步骤
  1. 导入驱动jar包

  2. 注册驱动

  3. 获取数据库连接对象 Connection

  4. 定义sql

  5. 获取执行sql语句的对象 Statement

  6. 执行sql,接受返回结果

  7. 处理结果

  8. 释放资源

对应的代码实现:

 
  1. //1. 导入驱动jar包
  2. //2.注册驱动
  3. Class.forName("com.mysql.cj.jdbc.Driver");
  4. //3.获取数据库连接对象
  5. Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
  6. //4.定义sql语句
  7. String sql = "update account set balance = 500 where id = 1";
  8. //5.获取执行sql的对象 Statement
  9. Statement stmt = conn.createStatement();
  10. //6.执行sql
  11. int count = stmt.executeUpdate(sql);
  12. //7.处理结果
  13. System.out.println(count);
  14. //8.释放资源
  15. stmt.close();
  16. conn.close();
3.使用jdbc向数据库中插入数据示例代码
 
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.SQLException;
  4. import java.sql.Statement;
  5. public class Test {
  6. public static void main(String[] args) throws ClassNotFoundException, SQLException {
  7. // 导入mysql的jar包
  8. // JDBC步骤:
  9. // 1.加载驱动
  10. Class.forName("com.mysql.cj.jdbc.Driver");
  11. System.out.println("加载驱动成功");
  12. // 2.获取连接
  13. /**
  14. * url:协议+IP+端口+资源
  15. * user:用户名
  16. * password:密码
  17. */
  18. Connection con = DriverManager.getConnection("jdbc:mysql:///studet?useUnicode=true&characterEncoding=utf8","root","root");
  19. System.out.println("获取连接成功");
  20. // 3.创建会话
  21. Statement sta = con.createStatement();
  22. // 4.发送sql
  23. String sql = "insert into dept values(null,'java',90 )";
  24. int n = sta.executeUpdate(sql);
  25. System.out.println("发送sql成功");
  26. // 5.处理结果
  27. if (n>0){
  28. System.out.println("插入成功");
  29. }else{
  30. System.out.println("插入失败");
  31. }
  32. // 6.关闭数据库资源
  33. sta.close();
  34. con.close();
  35. }
  36. }

编程要求

根据提示,在右侧编辑器补充代码,完成以下任务:

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------------------------
    }
}

第3关:jdbc删除数据

任务描述

本关任务:学会使用jdbc删除数据

1.删除staff员工表中id为4的记录

数据库相关信息:

数据库名:company

表:staff

staff表数据字典:

列名数据类型备注
idvarchar(20)员工编号
namevarchar(20)员工姓名
sexvarchar(20)员工性别
ageint员工年龄

相关知识

1. 概念

Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

2.使用jdbc常用的几个步骤
  1. 导入驱动jar包

  2. 注册驱动

  3. 获取数据库连接对象 Connection

  4. 定义sql

  5. 获取执行sql语句的对象 Statement

  6. 执行sql,接受返回结果

  7. 处理结果

  8. 释放资源

对应的代码实现:

 
  1. //1. 导入驱动jar包
  2. //2.注册驱动
  3. Class.forName("com.mysql.cj.jdbc.Driver");
  4. //3.获取数据库连接对象
  5. Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
  6. //4.定义sql语句
  7. String sql = "update account set balance = 500 where id = 1";
  8. //5.获取执行sql的对象 Statement
  9. Statement stmt = conn.createStatement();
  10. //6.执行sql
  11. int count = stmt.executeUpdate(sql);
  12. //7.处理结果
  13. System.out.println(count);
  14. //8.释放资源
  15. stmt.close();
  16. conn.close();
3.使用jdbc删除数据示例代码
 
  1. public static void main(String[] args){
  2. Connection con = null;
  3. Statement sta = null;
  4. try {
  5. // JDBC步骤:
  6. // 1.加载驱动
  7. Class.forName("com.mysql.cj.jdbc.Driver");
  8. System.out.println("加载驱动成功");
  9. // 2.获取连接
  10. con = DriverManager.getConnection("jdbc:mysql:///studet?useUnicode=true&characterEncoding=utf8","root","root");
  11. System.out.println("获取连接成功");
  12. // 3.创建会话
  13. sta = con.createStatement();
  14. // 4.发送sql
  15. String sql = "delete from dept where salg = 100";
  16. int n = sta.executeUpdate(sql); // 除了查询,增删改都属于修改
  17. System.out.println("发送sql成功");
  18. // 5.处理结果
  19. if (n>0){
  20. System.out.println("删除成功");
  21. }else{
  22. System.out.println("删除失败");
  23. }
  24. } catch (ClassNotFoundException | SQLException e) {
  25. e.printStackTrace();
  26. }finally{
  27. // 6.关闭数据库资源
  28. try {
  29. if (sta != null){
  30. sta.close();// 避免空指针异常
  31. }
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. }
  35. try {
  36. if (con != null){
  37. con.close();
  38. }
  39. } catch (SQLException e) {
  40. e.printStackTrace();
  41. }
  42. }
  43. }
  44. }

编程要求

根据提示,在右侧编辑器补充代码,完成以下任务:

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------------------------
    }
}

第4关:jdbc修改数据

任务描述

本关任务:学会使用jdbc修改数据

1.修改staff表中id=3的性别为男

数据库相关信息:

数据库名:company

表:staff

staff表数据字典:

列名数据类型备注
idvarchar(20)员工编号
namevarchar(20)员工姓名
sexvarchar(20)员工性别
ageint员工年龄

相关知识

1.概念

Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

2.使用jdbc常用的几个步骤
  1. 导入驱动jar包

  2. 注册驱动

  3. 获取数据库连接对象 Connection

  4. 定义sql

  5. 获取执行sql语句的对象 Statement

  6. 执行sql,接受返回结果

  7. 处理结果

  8. 释放资源

对应的代码实现:

 
  1. //1. 导入驱动jar包
  2. //2.注册驱动
  3. Class.forName("com.mysql.cj.jdbc.Driver");
  4. //3.获取数据库连接对象
  5. Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
  6. //4.定义sql语句
  7. String sql = "update account set balance = 500 where id = 1";
  8. //5.获取执行sql的对象 Statement
  9. Statement stmt = conn.createStatement();
  10. //6.执行sql
  11. int count = stmt.executeUpdate(sql);
  12. //7.处理结果
  13. System.out.println(count);
  14. //8.释放资源
  15. stmt.close();
  16. conn.close();
3.使用jdbc修改数据库中的数据
 
  1. public static void main(String[] args){
  2. Connection con = null;
  3. Statement sta = null;
  4. try {
  5. // JDBC步骤:
  6. // 1.加载驱动
  7. Class.forName("com.mysql.cj.jdbc.Driver");
  8. System.out.println("加载驱动成功");
  9. // 2.获取连接
  10. con = DriverManager.getConnection("jdbc:mysql:///studet?useUnicode=true&characterEncoding=utf8","root","root");
  11. System.out.println("获取连接成功");
  12. // 3.创建会话
  13. sta = con.createStatement();
  14. // 4.发送sql
  15. String sql = "update dept set dept = 'ios' where id = 1";
  16. int n = sta.executeUpdate(sql); // 除了查询,增删改都属于修改
  17. System.out.println("发送sql成功");
  18. // 5.处理结果
  19. if (n>0){
  20. System.out.println("修改成功");
  21. }else{
  22. System.out.println("修改失败");
  23. }
  24. } catch (ClassNotFoundException | SQLException e) {
  25. e.printStackTrace();
  26. }finally{
  27. // 6.关闭数据库资源
  28. try {
  29. if (sta != null){
  30. sta.close();// 避免空指针异常
  31. }
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. }
  35. try {
  36. if (con != null){
  37. con.close();
  38. }
  39. } catch (SQLException e) {
  40. e.printStackTrace();
  41. }
  42. }
  43. }
  44. }

编程要求

根据提示,在右侧编辑器补充代码,完成以下任务:

1.修改staff表中id=3的性别为男

测试说明

平台会对你编写的代码进行测试:

无输入


开始你的任务吧,祝你成功!

package step4;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class EditData {
    public  void run() throws SQLException, ClassNotFoundException {
        // ---------------------Begin------------------------
        //获取数据库连接
        Connection connection = this.getConnection();
        //获取statement对象
        Statement statement = connection.createStatement();
        //修改staff表中id=3的性别为男
        String sql =  "update staff set sex = '男' where id = 3";
        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------------------------
    }
}

第5关:jdbc查询数据

任务描述

本关任务:学会使用jdbc查询数据

1.查询staff表中所有数据并将其打印输出

数据库相关信息:

数据库名:company

表:staff

staff表数据字典:

列名数据类型备注
idvarchar(20)员工编号
namevarchar(20)员工姓名
sexvarchar(20)员工性别
ageint员工年龄

相关知识

1.概念

Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

2.使用jdbc常用的几个步骤
  1. 导入驱动jar包

  2. 注册驱动

  3. 获取数据库连接对象 Connection

  4. 定义sql

  5. 获取执行sql语句的对象 Statement

  6. 执行sql,接受返回结果

  7. 处理结果

  8. 释放资源

对应的代码实现:

 
  1. //1. 导入驱动jar包
  2. //2.注册驱动
  3. Class.forName("com.mysql.cj.jdbc.Driver");
  4. //3.获取数据库连接对象
  5. Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
  6. //4.定义sql语句
  7. String sql = "update account set balance = 500 where id = 1";
  8. //5.获取执行sql的对象 Statement
  9. Statement stmt = conn.createStatement();
  10. //6.执行sql
  11. int count = stmt.executeUpdate(sql);
  12. //7.处理结果
  13. System.out.println(count);
  14. //8.释放资源
  15. stmt.close();
  16. conn.close();
3.使用jdbc查询数据示例代码
 
  1. package com.runoob.test;
  2. import java.sql.*;
  3. public class MySQLDemo {
  4. // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
  5. static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  6. static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
  7. // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
  8. //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
  9. //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
  10. // 数据库的用户名与密码,需要根据自己的设置
  11. static final String USER = "root";
  12. static final String PASS = "123456";
  13. public static void main(String[] args) {
  14. Connection conn = null;
  15. Statement stmt = null;
  16. try{
  17. // 注册 JDBC 驱动
  18. Class.forName(JDBC_DRIVER);
  19. // 打开链接
  20. System.out.println("连接数据库...");
  21. conn = DriverManager.getConnection(DB_URL,USER,PASS);
  22. // 执行查询
  23. System.out.println(" 实例化Statement对象...");
  24. stmt = conn.createStatement();
  25. String sql;
  26. sql = "SELECT id, name, url FROM websites";
  27. ResultSet rs = stmt.executeQuery(sql);
  28. // 展开结果集数据库
  29. while(rs.next()){
  30. // 通过字段检索
  31. int id = rs.getInt("id");
  32. String name = rs.getString("name");
  33. String url = rs.getString("url");
  34. // 输出数据
  35. System.out.print("ID: " + id);
  36. System.out.print(", 站点名称: " + name);
  37. System.out.print(", 站点 URL: " + url);
  38. System.out.print("\n");
  39. }
  40. // 完成后关闭
  41. rs.close();
  42. stmt.close();
  43. conn.close();
  44. }catch(SQLException se){
  45. // 处理 JDBC 错误
  46. se.printStackTrace();
  47. }catch(Exception e){
  48. // 处理 Class.forName 错误
  49. e.printStackTrace();
  50. }finally{
  51. // 关闭资源
  52. try{
  53. if(stmt!=null) stmt.close();
  54. }catch(SQLException se2){
  55. }// 什么都不做
  56. try{
  57. if(conn!=null) conn.close();
  58. }catch(SQLException se){
  59. se.printStackTrace();
  60. }
  61. }
  62. System.out.println("Goodbye!");
  63. }
  64. }

编程要求

根据提示,在右侧编辑器补充代码,完成以下任务:

1.查询staff表中所有数据并将其打印输出

测试说明

平台会对你编写的代码进行测试:

无输入


开始你的任务吧,祝你成功!

package step5;
import java.sql.*;
public class QuerryData {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        QuerryData querryData = new QuerryData();
        // ---------------------Begin------------------------
      //获取数据库连接
        try{
      Connection conn = querryData.getConnection();
        //获取statement对象    
      Statement sta = conn.createStatement();
        //遍历输出staff表中的数据
String sql = "SELECT id, name, sex, age from staff";
//"SELECT id, first, last, age FROM student";
 ResultSet rs = sta.executeQuery(sql);
 while(rs.next()){
                // 通过字段检索
                int id  = rs.getInt("id");
                String name = rs.getString("name");
                String sex = rs.getString("sex");
              String age = rs.getString("age");
                // 输出数据
                System.out.print(id+",");
                System.out.print(name+",");
                System.out.print(sex+",");
                System.out.println(age);       
            }
        //关闭数据库连接,释放资源
  rs.close();
    sta.close();
        conn.close();
        }catch(Exception e){
          e.printStackTrace();
        }
 
// ---------------------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------------------------
  }
}
 
 
最后还是那句话,喜欢的别忘了你们的小心心哦。你们的小心心能让我快乐一整天呢!
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBCJava Database Connectivity)是一种用于执行SQL语句的Java API,它提供了一种连接到数据库的标准方式。下面是JDBC增删改查的详细步骤: 1. 加载JDBC驱动程序 在使用JDBC之前,必须加载适合于数据库JDBC驱动程序。不同的数据库有不同的JDBC驱动程序,因此你需要根据你使用数据库加载相应的驱动程序。例如: ``` Class.forName("com.mysql.jdbc.Driver"); ``` 2. 建立数据库连接 在加载完JDBC驱动程序之后,就可以建立与数据库之间的连接了。连接的过程需要提供数据库的URL、用户名和密码。例如: ``` String url = "jdbc:mysql://localhost:3306/test?useSSL=false"; String user = "root"; String password = "123456"; Connection connection = DriverManager.getConnection(url, user, password); ``` 3. 创建Statement对象 在建立好数据库连接之后,就可以创建一个Statement对象。Statement对象用于执行SQL语句并返回结果。例如: ``` Statement statement = connection.createStatement(); ``` 4. 执行SQL语句 接下来,可以使用Statement对象执行SQL语句。例如: ``` String sql = "SELECT * FROM user"; ResultSet resultSet = statement.executeQuery(sql); ``` 如果要执行增、删、改操作,则可以使用Statement对象的executeUpdate()方法。例如: ``` String sql = "INSERT INTO user(name, age) VALUES('张三', 20)"; statement.executeUpdate(sql); ``` 5. 处理结果集 如果执行的是查询操作,则需要处理查询结果集。查询结果集以ResultSet对象的形式返回。例如: ``` while (resultSet.next()) { String name = resultSet.getString("name"); int age = resultSet.getInt("age"); System.out.println("name: " + name + ", age: " + age); } ``` 6. 关闭连接 在完成JDBC操作之后,需要关闭与数据库的连接。例如: ``` resultSet.close(); statement.close(); connection.close(); ``` 以上就是JDBC增删改查的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值