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

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

查询所有学生姓名:

 @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();
      }
   }

执行结果:

通过Statement静态语句,实现CRUD操作_第1张图片

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

通过Statement静态语句,实现CRUD操作_第2张图片

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

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

 @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();
      }
   }

执行结果:

通过Statement静态语句,实现CRUD操作_第3张图片

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

通过Statement静态语句,实现CRUD操作_第4张图片

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

通过Statement静态语句,实现CRUD操作_第5张图片

 删除 sid为16的学生:

 @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();
      }
   }

执行结果:

通过Statement静态语句,实现CRUD操作_第6张图片

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

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

通过Statement静态语句,实现CRUD操作_第7张图片

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

 @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();
      }
   }

执行结果:

通过Statement静态语句,实现CRUD操作_第8张图片

 全部代码:

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;

/**
 * 

Project: jdbcdemo - StatementDemo

*

Powered by MingZi On 2023-08-11 20:25:20

*

描述:

* * @author MingZi [MingZi@[email protected]] * @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(); } } }

你可能感兴趣的:(数据库)