java基于jdbc实现简单学生管理系统

目录
  • 工具类
  • 工程目录:
  • 运行截图:

这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库。

工具类

JDBCuntils.

package Student;

import java.io.IOException;
import java.sql.*;
import java.util.Properties;

//数据库的工具类
public class JDBCuntils {

    private static String driver = "";
    private static String url = "";
    private static String user = "";
    private static String password = "";

    static {
        Properties p = new Properties();
        try {
            p.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        driver = p.getProperty("driver");
        url = p.getProperty("url");
        user = p.getProperty("user");
        password = p.getProperty("password");
        /*try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }*/
    }

    public static Connection getConnection() {
        try {
            return DriverManager.getConnection(url, user, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
    //释放的时候要从小到大释放
    //Connection -> Statement --> Resultset

    public static void release(ResultSet rs, Statement stmt, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

数据库配置文件(这个是连接你自己的数据库的信息,在包里创建就好)

db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db3
user=root
password=1767737316.
#<!-- \u914D\u7F6E\u521D\u59CB\u5316\u5927\u5C0F -->
initialSize=6
#<!-- \u914D\u7F6E\u521D\u59CB\u5316\u6700\u5927\u8FDE\u63A5\u6570 -->
maxActive=20
#<!-- \u914D\u7F6E\u521D\u59CB\u5316\u6700\u5C0F\u8FDE\u63A5\u6570 -->
minIdle=3
#<!-- \u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4,1\u5206\u949F\u5355\u4F4D\u6BEB\u79D2 -->
maxWait=60000

Student.java

package Student;

import java.util.Date;
public class Student {
       private int id;
       private String name;
       private int score;
       public Student(int id, String name,int score) {

            this.id = id;
            this.name = name;
            this.score = score;
        }

        public Student() {

        }
        public String toString() {
            return "Student{" +
                    "name='" + id + '\'' +
                    ", age=" + name +
                    ", sex='" + score + '\'' +
                    '}';
        }
    public int getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getScore() {
        return score;
    }
    public void setScore(Integer score) {
        this.score = score;
    }
}

Studentmannger.java

package Student;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

/**
 * @author fanxf
 * @since 2018/4/27 17:06
 */

public class Studentmannger {

    private static Connection conn = null;
    private static PreparedStatement ps = null;
    private static ResultSet rs = null;

    /**
     * 添加学生数据
     *
     * @param student
     * @return
     * @throws SQLException
     */
    public static int addStudent(Student student)     {
        conn = JDBCuntils.getConnection();
        int result = 0;
        try {
            ps = conn.prepareStatement("INSERT INTO student (id,`name`,score) VALUES (?, ?, ?)");
            ps.setInt(1, student.getId()); //设置第一个参数
            ps.setString(2, student.getName()); //设置第二个参数
            ps.setInt(3, student.getScore()); //设置第三个参数
            result = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCuntils.release(null, ps, conn);  //关闭连接
        }
        return result;
    }

    public void add() {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入学生学号");
        int id = scan.nextInt();
        System.out.println("请输入学生姓名");
        String name = scan.next();
        System.out.println("请输入学生成绩");
        int score = scan.nextInt();
        Student s = new Student(id, name, score);

        int flag = addStudent(s);
        if (flag > 0) {
            System.out.println("添加成功");
        } else {
            System.out.println("添加失败");
        }
    }

    /**1
     *
     * 修改
     *
     * @param student
     * @return
     */
    public static int updateStudent(Student student) {
        conn = JDBCuntils.getConnection();
        int result = 0;
        try {
            ps = conn.prepareStatement("UPDATE student SET id = ?, `name` = ?, score = ? WHERE id = ?");
            ps.setInt(1, student.getId()); //设置第一个参数
            ps.setString(2, student.getName()); //设置第二个参数
            ps.setInt(3, student.getScore()); //设置第三个参数
            ps.setInt(4, student.getId());
            result = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCuntils.release(null, ps, conn);  //关闭连接
        }
        return result;
    }

    public void update() {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入学生id");
        int id = scan.nextInt();
        System.out.println("请输入学生姓名");
        scan.nextLine();
        String name = scan.nextLine();

        System.out.println("请输入学生成绩");
        int score = scan.nextInt();

        Student s = new Student(id, name, score );
        int flag = updateStudent(s);
        if (flag > 0) {
            System.out.println("更新成功");
        } else {
            System.out.println("更新失败");
        }
    }

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws SQLException
     */

    public static void select() throws SQLException  {
        Scanner scan = new Scanner(System.in);
        conn = JDBCuntils.getConnection();
            int n;
            String sql = "select * from student where id=?";
            PreparedStatement ps = conn.prepareStatement(sql);
            System.out.println("请输入要查询的学号");
            n = scan.nextInt();
            ps.setInt(1, n);
            ResultSet rs  = ps.executeQuery();
    //将sql语句传至数据库,返回的值为一个字符集用一个变量接收
            while(rs.next()){    //next()获取里面的内容
            System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3));
                                 //getString(n)获取第n列的内容
                                    //数据库中的列数是从1开始的
            }
    }
    public static int deleteStudent(int id) {
        conn = JDBCuntils.getConnection();
        int result = 0;
        try {
            ps = conn.prepareStatement("DELETE FROM student WHERE id = ?");
            ps.setInt(1, id); //设置第一个参数
            result = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCuntils.release(null, ps, conn);  //关闭连接
        }
        return result;
    }

    public void delete() {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入学生id");
        int id = scan.nextInt();
        int flag = deleteStudent(id);
        if (flag > 0) {
            System.out.println("删除成功");
        } else {
            System.out.println("删除失败");
        }
    }

    public static void main(String[] args) throws SQLException {
        System.out.println("************ 欢迎进入学生管理系统 *************");
        Studentmannger ms = new Studentmannger();
        boolean b = true;
        while (b) {
            System.out.println("你想进行以下哪项操作");
            System.out.println("1、添加学生   2、更新学生数据   3、学生信息查询   4、删除学生  0、退出");
            Scanner scan = new Scanner(System.in);
            int i = scan.nextInt();
            switch (i) {
                case 1:
                    ms.add();
                    break;
                case 2:
                    ms.update();
                    break;
                case 3:
                    ms.select();
                    break;
                case 4:
                    ms.delete();
                    break;
                default:
                    System.out.println("没有该操作选项,请重新来过!");
                    main(args);
                    break;
            }
        }
    }
}

工程目录:

运行截图:

到此这篇关于java基于jdbc实现简单学生管理系统的文章就介绍到这了,更多相关jdbc 学生管理系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JDBC实现学生管理系统

    本文实例为大家分享了JDBC实现学生管理系统的具体代码,供大家参考,具体内容如下 1.学生类 package manage; import java.util.Date; /** * @author fanxf * @since 2018/4/27 17:01 */ public class Student { private int id; private int age; private String sex; private String name; private Date dateCr

  • JDBC+GUI实现简单学生管理系统

    刚学完JDBC不久,做了一个简单的学生管理系统,可能还有不完善的地方,望各路大神见谅.废话不多说,我先贴个图让大家让大家瞅瞅,觉得是你想要的再看下去吧. 我是以管理者的身份去做的,适合初学者去学习. 在做之前,先捋一遍思路,简单来说分为三大步. 一.在数据库里建Student表存放学生信息 二.用JDBC来连接.操作数据库 三.展示Student数据,实现增删改查功能. 思路是非常简单的,但是要实现还是有很多细节需要注意,下面我就贴上我的代码,结合着代码给大家一步步的分析说明. 实现: 一.在数

  • java基于jdbc实现简单学生管理系统

    目录 工具类 工程目录: 运行截图: 这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库. 工具类 JDBCuntils. package Student; import java.io.IOException; import java.sql.*; import java.util.Properties; //数据库的工具类 public class JDBCuntils { private static String driver = ""; privat

  • 基于Python实现简单学生管理系统

    学生信息管理系统负责编辑学生信息,供大家参考,具体内容如下 第一次发帖,下面通过python实现一个简单的学生信息管理系统 要求如下: 1.添加学生的信息 2.删除学生的信息 3.修改的信息 4.查询学生的信息 5.遍历学生的信息 6.退出系统 写法: 1.先考虑整体的框架(即搭框架),不要刚开始就考虑函数. 2.提示用户选择功能. 3.获取用户选择的功能. 4.根据用户的选择,执行相应的功能. 代码如下: # 0.学生管理系统界面 def showInfo(): print("-"*

  • java实现简单学生管理系统项目

    本文实例为大家分享了java实现简单学生管理系统的具体代码,供大家参考,具体内容如下 功能: 1.增加学生 2.查看学生 3.根据学号修改学生信息 4.根据学号查看某一个学生信息 5.根据性别查看同性别的所有学生 6.根据学号删除某一个学生 7.按照学号升序排序(默认) 8.按照年龄降序排序 Student 类- - -学生的javabean类 package com.studentByArray.www; public class Student { //定义一个Student类{学号.姓名.

  • Java实现简单学生管理系统

    本文实例为大家分享了Java实现简单学生管理系统的具体代码,供大家参考,具体内容如下 名为StudentManageTest的Java测试类 import java.util.Scanner;   public class StudentManageTest {     public static void main(String[] args) {         StudentManage stu = new StudentManage();         Scanner sc = new

  • Java基于JDBC连接数据库及显示数据操作示例

    本文实例讲述了Java基于JDBC连接数据库及显示数据操作.分享给大家供大家参考,具体如下: 1. 导入jdbc包 java要连接MySQL数据库需要用到JDBC工具(mysql-connector-java-5.1.39-bin.jar),这是一个jar包,不同的数据库对应不同的jar包,这里用的是MySQL数据库jar包,导入很简单,鼠标对项目右击 - Build Path - Configure Build Path - 右侧选Libraries - Add External JARs,选

  • Java基于jdbc连接mysql数据库操作示例

    本文实例讲述了Java基于jdbc连接mysql数据库操作.分享给大家供大家参考,具体如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MySQLDemo { private Connection conn = null; pri

  • Java基于Socket实现简单的多线程回显服务器功能示例

    本文实例讲述了Java基于Socket实现简单的多线程回显服务器功能.分享给大家供大家参考,具体如下: 需要两个类,一个是EchoServer,代表服务器.另外一个是EchoServerClient,代表客户端.代码如下: package interview; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter

  • java基于jdbc连接mysql数据库功能实例详解

    本文实例讲述了java基于jdbc连接mysql数据库的方法.分享给大家供大家参考,具体如下: 一.JDBC简介 Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.JDBC也是Sun Microsystems的商标.它JDBC是面向关系型数据库的. 1.JDBC架构: JDBC API支持两层和三层处理模型进行数据库访问,但在一般的JDBC体系结构由

  • java基于JDBC连接Oracle 11g Release2实例分析

    本文实例讲述了java基于JDBC连接Oracle 11g Release2的方法.分享给大家供大家参考.具体如下: Oracle 11g Release 2 的 JDBC 连接似乎有所不同 ,如果你收到下面的异常: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor.

  • Java基于JDBC实现事务,银行转账及货物进出库功能示例

    本文实例讲述了Java基于JDBC实现事务,银行转账及货物进出库功能.分享给大家供大家参考,具体如下: 1. 转账业务 转账必须执行2个sql语句(update更新)都成功的情况下,提交事务,如果有一个失败,则2个都回滚事务 2. 事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACID特性. ① 原子性(atomicity).一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做. ② 一致性(consistency).事务必须是使数据库从一个一致性状

随机推荐