运用java+mysql做一个简单的学生管理系统

概览
这个项目建立了四个类
分别是:
1、function(功能类,实现增删改查的相关函数)
2、main(没什么实际的意义,只是项目执行的入口)
3、students(学生管理系统,当然需要学生类,里面定义了学生的一些属性以及他们的getter、setter方法)
4、stuService(服务类,里面主要是提供了各项功能的入口)

分类介绍
1、从main类执行,它的内容十分简单,只有一个简单的调用

public class Main {
	public static void main(String[] args) {
		stuService stu=new stuService();//实例化stuService对象
	}
}

从main函数进入stuService

public class stuService {
	
	public stuService()
	{
		System.out.println("1、添加学生信息   2、删除  3、修改  4、查询  5、退出");//打印功能列表
		int choice;
		Scanner sc=new Scanner(System.in);//输入功能
		function f1=new function();
		choice=sc.nextInt();//选择选项
		if(choice>=1&&choice<=5)//是否符合输入要求
		{
			switch(choice) {//选择功能
			case 1:
				f1.Add(); 
				new stuService();
				break;
			case 2:
				f1.Dele();
				new stuService();
				break;
			case 3:
				f1.Update();
				new stuService();
				break;
			case 4:
				f1.Search();
				new stuService();
				break;
			case 5: 
				System.exit(0);
			}
	}else {
		System.out.println("输入错误!");
	}
	}
}

执行每一个功能进入功能类

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import org.junit.Test;

public class function {
	private final String url="jdbc:mysql://127.0.0.1:3306/student";
	Scanner sc=new Scanner(System.in);
	Connection conn=null;
	Statement stat=null;
	@Test
	public void Add()
	{
		String num;
		String name;
		int gender;
		int grade;
		System.out.println("请输入num:");
		num=sc.next();
		System.out.println("请输入name:");
		name=sc.next();
		System.out.println("请输入gender:");
		gender=sc.nextInt();
		System.out.println("请输入grade:");
		grade=sc.nextInt();
		student stu1=new student(num,name,gender,grade);
		String sql="insert into student values("+stu1.getStuNo()+","+stu1.getStuName()+","+stu1.getGender()+","+stu1.getScore()+")";
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn=DriverManager.getConnection(url,"root","password");
			Statement stat=conn.createStatement();
			if(stat.executeUpdate(sql)>0)
			{
				System.out.println("添加成功!");
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e){
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				stat.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
	@Test
	public void Dele()
	{
		String num;
		System.out.println("请输入要删除学生的学号:");
		num=sc.next();
		String sql="delete from student where("+"student.Stu_no="+num+")";
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn=DriverManager.getConnection(url,"root","password");
			Statement stat=conn.createStatement();
			if(stat.executeUpdate(sql)>0)
			{
				System.out.println("删除成功!");
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				stat.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	@Test
	public void Update()
	{
		String num1;
		System.out.println("请输入要修改学生的学号:");
		num1=sc.next();
		String num;
		String name;
		int gender;
		int grade;
		System.out.println("请输入num:");
		num=sc.next();
		System.out.println("请输入name:");
		name=sc.next();
		System.out.println("请输入gender:");
		gender=sc.nextInt();
		System.out.println("请输入grade:");
		grade=sc.nextInt();
		student stu1=new student(num,name,gender,grade);
		String sql="Update student set Stu_no="+stu1.getStuNo()+","+"Stu_name="+stu1.getStuName()+","
				+"Gender="+stu1.getGender()+","+"score="+stu1.getScore()+" "+"where Stu_no="+num1;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn=DriverManager.getConnection(url,"tangrong", "password");
			stat=conn.createStatement();
			if(stat.executeUpdate(sql)>0)
			{
				System.out.println("修改成功!");
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if(stat!=null)
			{
				try {
					stat.close();
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
			}
		}
	}
	public void Search()
	{
		System.out.println("请输入要查找的学生编号:");
		String num=sc.next();
		String sql="select * from student where Stu_no='"+num+"'";
		ResultSet rs=null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn=DriverManager.getConnection(url, "tangrong", "password");
			stat=conn.createStatement();
			rs=stat.executeQuery(sql);
			while(rs.next())
			{
				System.out.println("学生姓名:"+rs.getString("stu_name"));
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				stat.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

students类

public class student {
 private String stuNo;
 private String stuName;
 private int gender;
 private int score;
 public student(String stuNo, String stuName, int gender, int score) {
  super();
  this.stuNo = stuNo;
  this.stuName = stuName;
  this.gender = gender;
  this.score = score;
 }
 public String getStuNo() {
  return stuNo;
 }
 public void setStuNo(String stuNo) {
  this.stuNo = stuNo;
 }
 public String getStuName() {
  return stuName;
 }
 public void setStuName(String stuName) {
  this.stuName = stuName;
 }
 public int getGender() {
  return gender;
 }
 public void setGender(int gender) {
  this.gender = gender;
 }
 public int getScore() {
  return score;
 }
 public void setScore(int score) {
  this.score = score;
 }
 
}
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值