通过Statement静态语句,实现CRUD操作

首先你需要创建 数据库 和 s_students学生表,再进行下一步的 增(add)删(del) ,改(update),查(query)

查询所有学生姓名:

java 复制代码
 @Test
   void query(){
      try{
         Statement st = conn.createStatement();
         ResultSet rs = st.executeQuery("select * from t_students");
         //ResultSet rs = st.executeQuery("select * from t_students order by sid desc limit 3");
         while(rs.next()){
            System.out.printf("sid:%d,sname:%s%n",rs.getInt(1),rs.getString("sname"));
         }
      }catch (Exception e){
         e.printStackTrace();
      }
   }

执行结果:

查询最后3名学生姓名:t_students后 + "order by sid desc limit 3" (双引号内)

增加一名学生信息:姓名,性别,年龄,得分,出生日期,专业

(红豆,男,20,90,2023-8-11,软件)

java 复制代码
 @Test
        void add(){
      //使用statmement语句 insert into 语句
      try{
         Statement simt = conn.createStatement();
         String sql =String.format("insert into t_students values(null,'%s','%s','%d','%d','%s','%s')", "红豆","男",20,90,"2023-8-11","软件");
         System.out.println(sql);
         int rows = simt.executeUpdate(sql);
         if(rows >0){
            System.out.printf("数据库插入成功: %d条%n",rows);
         }

         query();
      }catch (Exception e){
         e.printStackTrace();
      }
   }

执行结果:

插入成功并输出语句内容:

以学生sid 为16,17为例进行删除信息

删除 sid为16的学生:

java 复制代码
 @Test
   void del(){
      //使用st 语句删除
      try{
         Statement st = conn.createStatement();
         String sql = String.format("delete from t_students where sid = %d",16);
         int ok = st.executeUpdate(sql);
         if(ok>0){
            System.out.printf("删除成功:%d条%n",ok);
         }else {
            System.out.printf("\33[31m删除成功:%d条\33[0m%n",ok);

         }
         System.out.println();
         query();
      }catch (Exception e){
         e.printStackTrace();
      }
   }

执行结果:

再次删除sid为16的学生会显示:

需插入:System.out .printf("\33[31m删除成功:%d条\33[0m**%n",ok);**

修改学生姓名:sid = 17的学生姓名红豆更改为小强

java 复制代码
 @Test
   void update(){
      try{
         Statement st = conn.createStatement();
         String sql = String.format("update t_students set sname = '%s' where sid = %d","小强",17);
         System.out.println(sql);
         int i = st.executeUpdate(sql);
         if(i >0){
            System.out.printf("修改数据:%d条%n",i);
         }else {
            System.out.printf("修改数据:%d条%n",i);
         }
         query();
      }catch (Exception e){
         e.printStackTrace();
      }
   }

执行结果:

全部代码:

java 复制代码
package cn.mingzi;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * <p>Project: jdbcdemo - StatementDemo</p>
 * <p>Powered by MingZi On 2023-08-11 20:25:20</p>
 * <p>描述:<p>
 *
 * @author MingZi [MingZi@1541521841@qq.com]
 * @version 1.0
 * @since 17
 */
public class StatementDemo {
   @Test
   void query(){
      try{
         Statement st = conn.createStatement();
         ResultSet rs = st.executeQuery("select * from t_students");
         //ResultSet rs = st.executeQuery("select * from t_students order by sid desc limit 3");
         while(rs.next()){
            System.out.printf("sid:%d,sname:%s%n",rs.getInt(1),rs.getString("sname"));
         }
      }catch (Exception e){
         e.printStackTrace();
      }
   }

   @Test
   void update(){
      try{
         Statement st = conn.createStatement();
         String sql = String.format("update t_students set sname = '%s' where sid = %d","小强",17);
         System.out.println(sql);
         int i = st.executeUpdate(sql);
         if(i >0){
            System.out.printf("修改数据:%d条%n",i);
         }else {
            System.out.printf("修改数据:%d条%n",i);
         }
         query();
      }catch (Exception e){
         e.printStackTrace();
      }
   }
   
   @Test
   void del(){
      //使用st 语句删除
      try{
         Statement st = conn.createStatement();
         String sql = String.format("delete from t_students where sid = %d",16);
         int ok = st.executeUpdate(sql);
         if(ok>0){
            System.out.printf("删除成功:%d条%n",ok);
         }else {
            System.out.printf("\33[31m删除成功:%d条\33[0m%n",ok);

         }
         System.out.println();
         query();
      }catch (Exception e){
         e.printStackTrace();
      }
   }

   @Test
        void add(){
      //使用statmement语句 insert into 语句
      try{
         Statement simt = conn.createStatement();
         String sql =String.format("insert into t_students values(null,'%s','%s','%d','%d','%s','%s')", "红豆","男",20,90,"2023-8-11","软件");
         System.out.println(sql);
         int rows = simt.executeUpdate(sql);
         if(rows >0){
            System.out.printf("数据库插入成功: %d条%n",rows);
         }
         //ddl create database drop table
         //stmt.execute(String sql);   执行语句,返回 true false

         //insert delete update
         //int i = stmt.executeUpdate(String sql); 返回影响的行

         //select show query 查询
         //ResultSet rs = simt.executeQuery(String sql); 返回ResultSet
         query();
      }catch (Exception e){
         e.printStackTrace();
      }
   }

  Connection conn;
  String url ="jdbc:mysql:/dbok";
  String user = "root";
  String password = "";
  @BeforeEach
   void init() {
     try {
        conn = DriverManager.getConnection(url, user, password);
     } catch (Exception e) {
        e.printStackTrace();
     }
  }

   @AfterEach
     void close(){
        try{
           conn.close();
        }catch (Exception e){
           e.printStackTrace();
     }
  }
}
相关推荐
DemonAvenger40 分钟前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
AAA修煤气灶刘哥12 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud16 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术19 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug1 天前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom1 天前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*1 天前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰1 天前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*1 天前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring