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;
    }
}

在这里插入图片描述
优点:通过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. 关闭连接
    这些都是死的知识点直接套用就可以了
  • 15
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
以下是一个简单的图书管理系统的Java代码示例,用于连接数据库实现增删改查功能: 1. 连接数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConnection { private static final String URL = "jdbc:mysql://localhost:3306/library"; private static final String USERNAME = "root"; private static final String PASSWORD = "password"; public static Connection getConn() { Connection conn = null; try { conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void close(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 2. 添加图书: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class BookDao { public int addBook(Book book) { int flag = 0; Connection conn = null; PreparedStatement pst = null; try { conn = DBConnection.getConn(); String sql = "INSERT INTO books (title, author, price) VALUES (?, ?, ?)"; pst = conn.prepareStatement(sql); pst.setString(1, book.getTitle()); pst.setString(2, book.getAuthor()); pst.setDouble(3, book.getPrice()); flag = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return flag; } } ``` 3. 删除图书: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class BookDao { public int deleteBook(int id) { int flag = 0; Connection conn = null; PreparedStatement pst = null; try { conn = DBConnection.getConn(); String sql = "DELETE FROM books WHERE id = ?"; pst = conn.prepareStatement(sql); pst.setInt(1, id); flag = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return flag; } } ``` 4. 修改图书信息: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class BookDao { public int updateBook(Book book) { int flag = 0; Connection conn = null; PreparedStatement pst = null; try { conn = DBConnection.getConn(); String sql = "UPDATE books SET title = ?, author = ?, price = ? WHERE id = ?"; pst = conn.prepareStatement(sql); pst.setString(1, book.getTitle()); pst.setString(2, book.getAuthor()); pst.setDouble(3, book.getPrice()); pst.setInt(4, book.getId()); flag = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return flag; } } ``` 5. 查询图书: ```java import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class BookDao { public List<Book> getAllBooks() { List<Book> bookList = new ArrayList<>(); Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; try { conn = DBConnection.getConn(); String sql = "SELECT * FROM books"; pst = conn.prepareStatement(sql); rs = pst.executeQuery(); while (rs.next()) { int id = rs.getInt("id"); String title = rs.getString("title"); String author = rs.getString("author"); double price = rs.getDouble("price"); Book book = new Book(id, title, author, price); bookList.add(book); } } catch (SQLException e) { e.printStackTrace(); } finally { DBConnection.close(conn); } return bookList; } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值