MySQl 数据库与java的增删改查

1:首先要在我们的Mysql数据中建库,建表

代码如下:

建库语句:
create database school;
建表语句:
CREATE TABLE school(
stuID int PRIMARY KEY auto_increment,
stuName VARCHAR(24),
stuSex VARCHAR(4),
stuAge int

);
INSERT INTO school(stuName,stuSex,stuAge)VALUES
('小明','男',18),
('小红','女',18),
('小兰','女',18),
('小黑','男',19)

在我们的打java代码段的应用程序中:

创建一个包:

里面建个java class文件:

定义我们在Mysql中的数据名称

代码段:

package com.hp.test;

public class Student {
    private  int stuID;
    private  String  stuName;
   private  String stuSex;
   private int stuAge;

    public Student() {

    }

    public int getStuID() {
        return stuID;
    }

    public String getStuName() {
        return stuName;
    }

    public String getStuSex() {
        return stuSex;
    }

    public int getStuAge() {
        return stuAge;
    }

    public Student(int stuID, String stuName, String stuSex, String stuAge) {
        this.stuID = stuID;
        this.stuName = stuName;
        this.stuSex = stuSex;
        this.stuAge = Integer.parseInt(stuAge);
    }

    public void setStuID(int stuID) {
        this.stuID = stuID;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public void setStuSex(String stuSex) {
        this.stuSex = stuSex;
    }

    public void setStuAge(String stuAge) {
        this.stuAge = Integer.parseInt(stuAge);
    }

    @Override
    public String toString() {
        return "Student{" +
                "stuID=" + stuID +
                ", stuName='" + stuName + '\'' +
                ", stuSex='" + stuSex + '\'' +
                ", stuAge='" + stuAge + '\'' +
                '}';
    }

}

在写增删改查代码段之前我们首先要把驱动jar包引入进来

jddc操作数据库的步骤

1.首先在项目根目录创建lib文件夹,放入jdbc驱动程序,然后Add As Library

//2.加载数据库驱动

//3.使用驱动管理器来获得连接---获得一个数据库连接对象Connection

//4.使用Connection创建PreparedStatement预处理对象---PreparedStatement对象可以 执行带 ? 的sql语句

//5.使用PreparedStatement对象执行SQL语句,获得ResultSet结果集对象

6.操作判断--增删改返回的是影响的行数(返回值是int),只有查询获得结果集(返回值 ResultSet) //让结果集的游标不断的往下移动,直到没有数据的时候结束循环

//7.回收资源,先关闭rs结果集对象 再pstm预处理对象 最后con连接对象

查找代码如下:

package com.hp.test;

import org.junit.Test;

import javax.swing.*;
import java.awt.*;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class StudentList{
    private String driver = "com.mysql.cj.jdbc.Driver";
    private String url = "jdbc:mysql://localhost:3306/text";
    private String username = "root";
    private String password = "root";



    @Test
    public void  text() throws Exception{
       Class.forName(driver);
        Connection con= DriverManager.getConnection(url,username,password);
       String sql = "select * from school";
       PreparedStatement pstm=con.prepareStatement(sql);
         ResultSet rs= pstm.executeQuery();
        List<Student> studentlList=new ArrayList<>();
           while (rs.next()){
                int stuId=rs.getInt("stuID");
             String stuName= rs.getString("stuName");
             String stuSex= rs.getString("stuSex");
                int  stuAge=   rs.getInt("stuAge");

               Student student=new Student();
                 student.setStuID(stuId);
             student.setStuName(stuName);
            student.setStuSex(stuSex);
            student.setStuAge(String.valueOf(stuAge));
             studentlList.add(student);
          }
        System.out.println(studentlList);
           if(rs!=null){
               rs.close();
           }
           if(pstm!=null){
               pstm.close();
           }
           if(con!=null){
               con.close();
           }
    }



}

删除代码如下:

package com.hp.test;

import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class TestDelete {
    private String driver = "com.mysql.cj.jdbc.Driver";
    private String url = "jdbc:mysql://localhost:3306/text";
    private String username = "root";
    private String password = "root";
    @Test
    public   void  select() throws Exception {
        Class.forName(driver);
   Connection con= DriverManager.getConnection(url,username,password);
        String sql="delete from school where stuID=?";
        PreparedStatement ptem= con.prepareStatement(sql);
        int stuID=2;
        ptem.setObject(1,stuID);
        int n=ptem.executeUpdate();
        if(n>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
        if(con!=null){
            con.close();;
        }
        if(ptem!=null){
            ptem.close();
        }
    }
}

增加代码如下:

package com.hp.test;

import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class TestAdd {
    private String driver = "com.mysql.cj.jdbc.Driver";
    private String url = "jdbc:mysql://localhost:3306/text";
    private String username = "root";
    private String password = "root";
   @Test
    public void text() throws Exception {
       Class.forName(driver);
        Connection con= DriverManager.getConnection(url,username,password);
       String sql="INSERT INTO school(stuName,stuSex,stuAge)VALUES(?,?,?)";
       PreparedStatement pstm= con.prepareStatement(sql);
          Student student=new Student();
          student.setStuName("小李");
           student.setStuSex("男");
           student.setStuAge(String.valueOf(18));
           pstm.setObject(1,student.getStuName());
            pstm.setObject(2,student.getStuSex());
        pstm.setObject(3,student.getStuAge());

      int n= pstm.executeUpdate();

        if(n>0){
            System.out.println("添加成功");
        }else{
            System.out.println("添加失败");
        }
        if (pstm!=null){
            pstm.close();
        }
        if (con!=null){
            con.close();
        }



 }


}

修改代码如下:

package com.hp.test;

import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class TestUpdate {
    private String driver = "com.mysql.cj.jdbc.Driver";
    private String url = "jdbc:mysql://localhost:3306/text";
    private String username = "root";
    private String password = "root";
    @Test
    public void update() throws Exception {
        Class.forName(driver);
        Connection con= DriverManager.getConnection(url,username,password);
        String sql="update school  set stuName=?, stuSex=? where stuID=?";
        PreparedStatement ptem= con.prepareStatement(sql);
        ptem.setObject(1,"攀攀");
        ptem.setObject(2,"女");
        ptem.setObject(3,1);
       int n=ptem.executeUpdate();
       if(n>0){
           System.out.println("修改成功");
       }else{
           System.out.println("修改失败");
       }
       if(con!=null){
           con.close();
       }
       if(ptem!=null){
           ptem.close();
       }
    }
}

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 JDBC API 来连接 MySQL 数据库,并使用批处理(Batch)技术来进行批量删除。以下是一个示例代码: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class BatchDeleteExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test"; String user = "username"; String password = "password"; String sql = "DELETE FROM mytable WHERE id = ?"; int[] idsToDelete = {1, 2, 3, 4, 5}; try (Connection conn = DriverManager.getConnection(url, user, password); PreparedStatement pstmt = conn.prepareStatement(sql)) { for (int id : idsToDelete) { pstmt.setInt(1, id); pstmt.addBatch(); } int[] results = pstmt.executeBatch(); System.out.println("Deleted " + results.length + " rows."); } catch (SQLException e) { e.printStackTrace(); } } } ``` 在上面的示例中,我们首先定义了要连接的 MySQL 数据库的 URL、用户名和密码。然后,我们定义了要执行的 SQL 语句,其中 `?` 表示要删除的记录的 ID。接下来,我们定义了要删除的记录的 ID 数组。在 `try` 块中,我们使用 `DriverManager.getConnection()` 方法来获取与数据库的连接。然后,我们使用 `conn.prepareStatement()` 方法来创建一个预编译的 `PreparedStatement` 对象。接着,我们使用 `pstmt.setInt()` 方法来设置 `?` 的值,并使用 `pstmt.addBatch()` 方法将该语句添加到批处理中。最后,我们使用 `pstmt.executeBatch()` 方法来执行批处理,并返回一个整数数组,表示每个语句的执行结果。我们可以通过检查该数组的长度来确定删除了多少行。在 `catch` 块中,我们简单地打印了异常堆栈跟踪。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值