JavaSE课程设计--MVC学生信息管理系统

项目结构

采用mvc模式创建如上图所示的项目结构

数据库创建学生表

 model层

创建数据模型,用来操作与获取数据库,以及界面展示数据

package model;
import java.io.Serializable;

public class Student{
	String id;
	String name;
	float math;
	float physical;
	float english;
	public Student(String id, String name, float math, float physical, float english) {
		super();
		this.id = id;
		this.name = name;
		this.math = math;
		this.physical = physical;
		this.english = english;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public float getMath() {
		return math;
	}
	public void setMath(float math) {
		this.math = math;
	}
	public float getPhysical() {
		return physical;
	}
	public void setPhysical(float physical) {
		this.physical = physical;
	}
	public float getEnglish() {
		return english;
	}
	public void setEnglish(float english) {
		this.english = english;
	}
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", math=" + math + ", physical=" + physical + ", english="
				+ english + "]";
	}
}

dao层

通过JDBC连接数据库

1.注册驱动

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

2.获取连接

con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=db","yangpeng","1234");

3.创建发送sql的对象

con.createStatement();

4.定义sql

String selectSql="select * from student";

5.执行sql

RS= smt2.executeQuery(selectSql);

5.源码

package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import com.mysql.jdbc.Driver;
import com.mysql.jdbc.Statement;
import model.Student;
import view.P2;
import view.学生信息管理系统;
public class connenct {
	Student S;
	private java.sql.Statement stm;
	private Connection con;
	public void set(Student s) {
		 S=s;
	}
	public int  get(Student s)  {
		 S=s;
		int y= con();
		return y; 
	}
	public ArrayList<Student> select()
	{
		ArrayList<Student> AL=new ArrayList<Student>();
		String id=null;
		String name=null;
		float sx;
		float wl;
		float yy;
		ResultSet RS = null;
		java.sql.Statement smt2 = null;
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			
			e.printStackTrace();
		}
		try {
			con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=db","yangpeng","1234");
			 smt2 =  con.createStatement();
			String selectSql="select * from student";
			 RS= smt2.executeQuery(selectSql);
			while (RS.next()) {
				id=RS.getString(1);
				name=RS.getString(2);
				sx=(float) RS.getDouble(3);
				wl=(float) RS.getDouble(4);
				yy=(float) RS.getDouble(5);
				Student s=new Student(id, name, sx, wl, yy);
			   AL.add(s);	
			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		
		finally {
			if (con !=null) {
				try {
					con.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}
			}
			if (smt2 !=null) {
				try {
					smt2.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}
			}
		}
		return AL;
	}
//删除
	public int  delect(String id)
	{
		int x = 0;
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			
			e.printStackTrace();
		}
		try {
			con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=db","yangpeng","1234");
			 stm=con.createStatement();
			String DeleteSql="delete from student where 学号="+id;
			x=stm.executeUpdate(DeleteSql);
		
		} catch (SQLException e) {
			e.printStackTrace();
		}
		finally {
			if (con !=null) {
				try {
					con.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if (stm !=null) {
				try {
					stm.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		return x;
	}
	public int  con() 
	{
	int x=0;
	//注册驱动器
	//com.mysql.jdbc.Driver DR=new Driver();
	try {
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		
		try {
			con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=db","yangpeng","1234");
		} catch (SQLException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		}
		//  获取操作数据库对象
		
		try {
			stm = con.createStatement();
		} catch (SQLException e1) {
			
			e1.printStackTrace();
		}
		String sql="INSERT INTO student(学号,姓名,数学成绩,物理成绩,英语成绩) VALUES('"+S.getId()+"','"+S.getName()+"','"+S.getMath()+"','"+S.getPhysical()+"','"+S.getEnglish()+    "')";//
		try {
			x=stm.executeUpdate(sql);
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
	} catch (ClassNotFoundException e) {
		
		e.printStackTrace();
	}
	finally {
		try {
			stm.close();
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		try {
			con.close();
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
	}
		return x;
	}
 //实现查询展示在修改页面
	public Student select2(String ID)
	{
		Student s = null;
		String id=null;
		String name=null;
		float sx;
		float wl;
		float yy;
		ResultSet RS = null;
		java.sql.Statement smt2 = null;
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			
			e.printStackTrace();
		}
		try {
			con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=db","yangpeng","1234");
			 smt2 =  con.createStatement();
			String selectSql2="SELECT * FROM student WHERE 学号="+ID;
			 RS= smt2.executeQuery(selectSql2);
			/*while (RS.next()) {
				id=RS.getString(1);
				name=RS.getString(2);
				sx=(float) RS.getDouble(3);
				wl=(float) RS.getDouble(4);
				yy=(float) RS.getDouble(5);
				 s=new Student(id, name, sx, wl, yy);
			}*/
			 System.out.println(RS.getString(1));
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		finally {
			if (con !=null) {
				try {
					con.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}
			}
			if (smt2 !=null) {
				try {
					smt2.close();
				} catch (SQLException e) {
					
					e.printStackTrace();
				}
			}
		}
		return s;
	}
	//实现修改功能
	public int  updete(Student s) 
	{
	int x=0;
	//注册驱动器
	//com.mysql.jdbc.Driver DR=new Driver();
	try {
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		
		try {
			con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=db","yangpeng","1234");
		} catch (SQLException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		}
		//  获取操作数据库对象
		try {
			stm = con.createStatement();
		} catch (SQLException e1) {
			
			e1.printStackTrace();
		}
		String sql="UPDATE Student SET 数学成绩="+s.getMath()+","+"物理成绩="+s.getPhysical()+","+"英语成绩="+s.getEnglish()+"WHERE 学号="+s.getId();//
		try {
			x=stm.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	} catch (ClassNotFoundException e) {
		
		e.printStackTrace();
	}
	finally {
		try {
			stm.close();
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		try {
			con.close();
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
	}
	return x;
	}
	
}

View层

通过继承Jframe来创建窗口,使用选项卡经行分栏,使得功能分开,每个面板使用Jpanel

1.效果图

源码在博主的github上,自行下载GitHub - yp1919597583/JavaSE

结语

javase课程设计比较简单,但是又是非常重要,对于后面JavaWEB来说,这是必须要打好的基础,不然到后面,会像坐飞机一样,所以希望博主的代码只是借鉴,希望要有自己的思考。另外有什么问题可以在评论区留言,我回一一解答。

  • 0
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值