java学生管理系统(jdbc连接数据库实现增删改查)

创建一个学生数据库

具体代码

  -- 创建学生数据库
CREATE DATABASE student_database;
-- 使用学生数据库
USE student_database
-- 创建学生表
create TABLE student2(
stu_id int PRIMARY KEY auto_increment, --学号主键自增长
stu_name VARCHAR(10),--姓名
stu_age int ,--年龄
stu_sex VARCHAR(3),--性别
stu_class VARCHAR(10)--年级);

效果图:
在这里插入图片描述

连接数据库(jdbc)

1.利用properties文件保存数据

package student;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;

public class PropertiesUtil {
    public static Properties drive() throws Exception {
        File file = new File("zixi4/connetion.properties");
        FileInputStream fis = new FileInputStream(file);
        Properties p = new Properties();
        p.load(fis);
      return  p;
    }
}

java学生管理系统(jdbc连接数据库实现增删改查)_第1张图片
优点:通过properties文件传信息便于修改,不用修改java源代码,只需需改properties文件即可,便于维护。(切换数据库的时候,只需修改配置文件(properties文件))

2.连接数据库实现增删查改

package student;
import java.sql.*;
import java.util.Scanner;

public class Student_jdbc {
   static Scanner sc=new Scanner(System.in);
    public static  Connection conn;//创建连接对象(将Connection 放在方法体外面扩大适用范围)
    //mysql语句:添加信息
    private static final String SQL1 = "insert  into student2(stu_name,stu_age,stu_sex,stu_class) values (?,?,?,?)";
    //mysql语句:删除语句
    private static final String SQL2 = "delete from  student2 where stu_id=?";
    //mysql语句:修改语句
    private static final String SQL3 = "update  student2 set stu_name=?,stu_age=?,stu_sex=?,stu_class=? where stu_id=?";
    //mysql语句:根据学号查询信息
    private static final String SQL4 = " select  * from  student2 WHERE stu_id=?";
    //mysql语句:查询所有学生
    private static final String SQL5 = " select  * from  student2";
    //连接数据库的方法 
    public static void connetionDatabse() throws Exception {
    //从properties文件中获取连接数据库的信息
    		//加载驱动
        String driver=PropertiesUtil.drive().getProperty("DRIVER");
        //数据库用户名
        String user=PropertiesUtil.drive().getProperty("USER");
        //数据库密码
        String pwd=PropertiesUtil.drive().getProperty("PWD");
        //数据库url
        String url=PropertiesUtil.drive().getProperty("URL");
        //1.加载驱动
        Class.forName(driver);
        //2.创建连接对象(没有报错说明连接成功)
        conn= DriverManager.getConnection(url,user,pwd);
        System.out.println("数据库连接成功");
    }
	
	//通过java控制台输入向数据库添加信息
    public static void add() throws SQLException {
        // 添加学生信息
        System.out.println("------------添加学生信息---------------------");
            System.out.println("请输入您要添加的学生姓名:");
            String stuName=sc.next();
            System.out.println("请输入您要添加的学生年龄:");
            int stuAge=sc.nextInt();
            System.out.println("请输入您要添加的学生性别:");
            String stuSex=sc.next();
            System.out.println("请输入您要添加的学生班级:");
            String stuClass=sc.next();
            //3.通过mysql语句实现添加操作
            PreparedStatement ps =conn.prepareStatement(SQL1);
            //4.将添加的信息传入数据库中
            ps.setString(1,stuName);
            ps.setInt(2,stuAge);
            ps.setString(3,stuSex);
            ps.setString(4,stuClass);
            //5判断数据库中受影响行数(添加成功则返回的是大于0的整数,没有添加进去返回的是0)
            if(ps.executeUpdate()>0){
                System.out.println("添加成功!");
            }else{
                System.out.println("添加失败!");
            }
    }
    //通过java控制台输入向数据库删除信息
    public static void remove() throws SQLException {
             //通过mysql语句实现删除操作
            PreparedStatement ps2 = conn.prepareStatement(SQL2);
        System.out.println("------------删除学生信息---------------------");
            System.out.println("请输入您要删除的学生学号");
            int id=sc.nextInt();
            ps2.setInt(1,id);
            if(ps2.executeUpdate()>0){
                System.out.println("删除成功!");
            }else{
                System.out.println("删除失败!");
            }
    }
   // 通过java控制台输入向数据库修改信息
    public static void update() throws SQLException {
   			 //通过mysql语句实现修改操作
        PreparedStatement ps3 = conn.prepareStatement(SQL3);
        System.out.println("------------修改学生信息---------------------");
        System.out.println("请输入您要修改的学生学号");
        int id3=sc.nextInt();
        System.out.println("请输入您要修改的学生姓名:");
        String stuName3=sc.next();
        System.out.println("请输入您要修改的学生年龄:");
        int stuAge3=sc.nextInt();
        System.out.println("请输入您要修改的学生性别:");
        String stuSex3=sc.next();
        System.out.println("请输入您要修改的学生班级:");
        String   stuClass3=sc.next();
        ps3.setInt(5,id3);
        ps3.setString(1,stuName3);
        ps3.setInt(2,stuAge3);
        ps3.setString(3,stuSex3);
        ps3.setString(4,stuClass3);
        if(ps3.executeUpdate()>0){
            System.out.println("修改成功!");
        }else{
            System.out.println("修改失败!");
        }
    }
    //通过学号查找学生信息
    public static void show() throws SQLException {
    //通过mysql语句实现查询操作
        PreparedStatement ps4 = conn.prepareStatement(SQL4);
        System.out.println("------------查找学生信息---------------------");
        System.out.println("请输入您要查找的学生学号:");
        int id4=sc.nextInt();
        ps4.setInt(1,id4);
        ResultSet resultSet = ps4.executeQuery();
        System.out.println("------------查询结果---------------------");
        while (resultSet.next()){
            System.out.println(resultSet.getString(1)+"--" +
                    ""+resultSet.getString(2)+"---"+resultSet.getString(3)+"---"
                    +resultSet.getString(4)+"---"+resultSet.getString(5));
        }
    }
    
    //查询所有学生的信息
    public static void showAll() throws SQLException {
    //通过mysql语句实现查询所有操作
        PreparedStatement ps4 = conn.prepareStatement(SQL5);
        System.out.println("------------所有学生信息---------------------");
        ResultSet resultSet = ps4.executeQuery();
        System.out.println("------------查询结果---------------------");
        while (resultSet.next()){
            System.out.println(resultSet.getString(1)+"--" +
                    ""+resultSet.getString(2)+"---"+resultSet.getString(3)+"---"
                    +resultSet.getString(4)+"---"+resultSet.getString(5));
        }
    }
   //主方法内实现增删查改
    public static void main(String[] args) throws Exception {
        Student_jdbc.connetionDatabse();
        while (true){
            System.out.println("-----------欢迎来到学生管理系统-----------------");
            Scanner sc=new Scanner(System.in);
            System.out.println("请选择您要您要办理的业务:");
            System.out.println("1.添加学生信息");
            System.out.println("2.删除学生信息");
            System.out.println("3.修改学生信息");
            System.out.println("4.查看学生信息");
            System.out.println("5.查看所有学生信息");
            System.out.println("其他.退出系统");
            int menue=sc.nextInt();
            if(menue==1){
                Student_jdbc.add();
            }else if(menue==2){
                Student_jdbc.remove();
            }else if(menue==3){
                Student_jdbc.update();
            }else if(menue==4){
                Student_jdbc.show();
            }else if(menue==5){
                Student_jdbc.showAll();
            }else{
                System.out.println("谢谢使用!");
                break;
            }
        }
        //7.关闭连接
          conn.close();
    }
}

连接数据库的步骤:

  1. 导入数据库jdbc驱动包
  2. 配置数据库连接相关信息
  3. 通过Class.forName、DriverManager加载驱动并创建Connection对象连接数据库
  4. 通过Connection对象创建PrepareStatement对象发送sql到数据库并执行
  5. 通过PrepareStatement设置参数(如果sql没有占位符则跳过)
  6. 执行sql,获取结果
  7. 关闭连接
    这些都是死的知识点直接套用就可以了

你可能感兴趣的:(jdbc)