通过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();
     }
  }
}
相关推荐
苏打水com4 分钟前
数据库进阶实战:从性能优化到分布式架构的核心突破
数据库·后端
shan~~1 小时前
linux达梦数据库操作
linux·数据库·chrome
武文斌771 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt1 小时前
SQLite架构
数据库·sqlite
lixora2 小时前
银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC
数据库
郝学胜-神的一滴2 小时前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程
哲Zheᗜe༘2 小时前
了解学习MySQL数据库基础
数据库·学习·mysql
Miqiuha3 小时前
sql的表join怎么学?
数据库·sql
TiAmo zhang3 小时前
调查问卷管理系统开发 │ 系统功能概述
数据库·sqlserver
problc3 小时前
PostgreSQL pg_trgm中文模糊匹配优化技巧
数据库·postgresql