项目说明

这是一个学生信息管理系统,可以向数据库中录入学生信息(学号,姓名,成绩),并通过UI界面进行增、删、改、查操作,适合初学玩java的同学作为第一个项目进行实战。

选用的数据库为java自带的derby,如果要连其他数据库也是类似的。

代码总共300行,采用的是MVC模式(模型—视图—控制器)。

项目最后jar可运行文件链接

下面是运行截图

项目实现

组织形式

有三个类,其中process对应的是MVC中的controller,window对应的是MVC中的view,derbey数据库对应的史MVC中的model

MainClass类代码

package demo2;public class MainClass
{public static void main(String[] args) {Window window = new Window();}}

process类代码

package demo2;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class process
{Connection con;Statement sql;ResultSet rs;//初始化,连接数据库process(){try{Class.forName("org.apache.derby.jdbc.EmbeddedDriver");//加载驱动con = DriverManager.getConnection("jdbc:derby:sqm;create=true");sql = con.createStatement();rs  = con.getMetaData().getTables(null, null,  "students", null );//判断表格是否存在if(rs.next())//若表格不存在,则建立新表{sql.execute("create table students(id varchar(20) primary key not null, name varchar(20), score varchar(20))");//创建表}}catch(Exception e){System.out.println(e);}}void insert(String a, String b, String c)//插入学生信息{try{sql.execute("insert into students values('" + a + "','" + b + "','" + c + "')");}catch(Exception e){System.out.println("insert  " + e);}}String search(String s)//查询功能{String s1 = new String();try{rs = sql.executeQuery("select * from students where id = '" + s + "'");if(rs.next())s1 += "找到该学生  " + "学号为  " + rs.getString(1) + "姓名为  " + rs.getString(2) + "成绩为  " + rs.getString(3);else s1 = "未找到该学生";}catch(Exception e){System.out.println("search  " + e);}return s1;}String fix(String s, String newscore)//修改功能{String s1 = new String();try{rs = sql.executeQuery("select * from students where id = '" + s + "'");//先看有没有该学生if(rs.next()){sql.execute("update students set score = '" + newscore + "' where id = '" + s + "'");//修改操作rs = sql.executeQuery("select * from students where id = '" + s + "'");rs.next();s1 += "成功修改该学生  " + "学号为  " + rs.getString(1) + "姓名为  " + rs.getString(2) + "成绩为  " + rs.getString(3);}else s1 = "未找到该学生";}catch(Exception e){System.out.println("fix  " + e);}return s1;}String delete(String s)//删除功能{try{sql.execute("delete from students where id = '" + s + "'");}catch(Exception e){System.out.println("delete  " + e);}return "成功删除该学生";}String selectall()//查询全表{String s = new String();try{rs = sql.executeQuery("select * from students");while(rs.next()){s += "学号为  " + rs.getString(1) + "姓名为  " + rs.getString(2) + "成绩为  " + rs.getString(3) + "\n";}}catch(Exception e){System.out.println("selectall  " + e);}return s;}}

Window类代码

package demo2;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;public class Window extends JFrame
{JTextField textName, textScore, textNumber, number1, number2, number3, number4;//读取学号,姓名,成绩JTextArea showArea;//显示程序输出process student;//业务处理JButton insertStudent, searchScore, fixStudent, deleteStudent,selectall;//插入学生信息,查询,修改,删除,查询所有学生信息Window()//构造函数{init();setBounds(100,100,700,600);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);}void init()//初始化函数{student = new process();showArea = new JTextArea();//插入功能JPanel pNorth = new JPanel();textName = new JTextField(10);textScore = new JTextField(10);textNumber = new JTextField(10);pNorth.add(new JLabel("插入学生信息"));pNorth.add(new JLabel("学号"));pNorth.add(textName);pNorth.add(new JLabel("姓名"));pNorth.add(textNumber);pNorth.add(new JLabel("成绩"));pNorth.add(textScore);insertStudent = new JButton("插入学生信息");insertStudent.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {student.insert(textName.getText(), textNumber.getText(), textScore.getText());showArea.append(student.search(textNumber.getText()) + "\n");}});pNorth.add(insertStudent);//查询功能JPanel pEast = new JPanel();pEast.add(new JLabel("成绩查询"));pEast.add(new JLabel("请输入学号"));number1 = new JTextField(10);pEast.add(number1);searchScore = new JButton("成绩查询");searchScore.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {showArea.append(student.search(number1.getText()) + "\n");}});pEast.add(searchScore);//修改功能JPanel pSouth = new JPanel();pSouth.add(new JLabel("修改信息"));pSouth.add(new JLabel("请输入学号"));number2 = new JTextField(10);pSouth.add(number2);pSouth.add(new JLabel("请输入修改后成绩"));number3 = new JTextField(10);pSouth.add(number3);fixStudent = new JButton("修改成绩");fixStudent.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {showArea.append(student.fix(number2.getText(),number3.getText()) + "\n");}});pSouth.add(fixStudent);//删除功能JPanel pWest = new JPanel();pWest.add(new JLabel("删除学生"));pWest.add(new JLabel("请输入学号"));number4 = new JTextField(10);pWest.add(number4);deleteStudent = new JButton("删除学生");deleteStudent.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {showArea.append(student.delete(number4.getText()) + "\n");}});pWest.add(deleteStudent);//查询全表selectall = new JButton("查询全表");selectall.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){showArea.append(student.selectall() + "\n");}});//盒式布局Box box = Box.createVerticalBox();box.add(pNorth);box.add(pSouth);box.add(pEast);box.add(pWest);box.add(selectall);add(box,BorderLayout.NORTH);add(new JScrollPane(showArea));}}

java项目实战 学生信息管理系统(UI界面+连接数据库)相关推荐

  1. Java SpringMVC毕业项目实战-学生信息管理系统

    目录 摘要设计: 系统功能概述: B站视频演示:java毕业设计-SSM学生信息管理系统.mp4 主要功能截图: 主要数据库设计: 论文结构目录设计 : 获取完整源码: 摘要设计:文末获取源码联系 本 ...

  2. Java课程设计——学生信息管理系统

    一.项目简介 二.项目构架图 三.团队成员任务简介 四.代码 五.项目运行图片 一.项目简介: 实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以添加,删除,修改.查询 ...

  3. Java实训学生信息_(java实训)学生信息管理系统.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava (java实训)学生信息管理系统.doc9页 本文档一 ...

  4. java+SQL做学生信息管理系统(增删改查)

    java+SQL做学生信息管理系统(增删改查) [过程中需要用到的所有工具数据库以及数据库管理器等等] https://pan.baidu.com/s/1cLKJPKXauLCl-Vwah6wFIQ ...

  5. 学生信息管理系统java的总结,基于Java web的学生信息管理系统

    源码编号:B-E00012  点击查看分类规则 项目类型:Java EE项目(java web项目) 项目名称:基于java web的学生信息管理系统(StudentManagerWeb) 当前版本: ...

  6. python学生管理系统教学_Python项目:学生信息管理系统(完整版)

    本文是基于上一篇(python项目:学生信息管理系统(初版))进行了完善,并添加了新的功能. 主要包括有: 学生信息管理系统(完整版) 学生信息管理项目,要求带操作界面,并完成每项操作: +----- ...

  7. Java课程设计-基于Java Swing的学生信息管理系统-版本二

    Java课程设计-基于Java Swing的学生信息管理系统-版本二 1.介绍 2.相关技术 3. 代码仓库 4.所需环境 5.安装教程 6.运行截图 7.相关博客 1.介绍 设计一个简单学生个人信息 ...

  8. java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计学生信息管理系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  9. python项目:学生信息管理系统(初版)

    python项目:学生信息管理系统(初版) 学生信息管理项目,要求带操作界面,并完成每项操作: +----------------------+ | 1)添加学生信息 | | 2)显示所有学生的信息 ...

  10. java计算机毕业设计学生信息管理系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计学生信息管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计学生信息管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S ...

最新文章

  1. Python多版本pip安装库的问题
  2. 使用Silverlight 2实现水中倒影效果
  3. Overview-ISA-2004-SP3
  4. Android开发人员资料大全(开发人员必看)
  5. 华为三层交换机路由配置案例_{华为HCNP-RS}三层交换机的配置实例
  6. java inputstream字节流_Java输入输出流ByteArrayInputStream和ByteArrayOutPutStream
  7. Centos 8 RHEL 8 破解root密码
  8. Activity 横竖屏切换
  9. 接触式IC卡和非接触式IC卡有什么区别?
  10. 用什么软件测试内存条稳定,使用内存条检测工具监测内存稳定性,内存条检测工具有哪些...
  11. java获取当天剩余时间
  12. 2023年全国最新高校辅导员精选真题及答案53
  13. 两种取汉字拼音首字母的方法.--函数为转抄而来.
  14. 阿里云Maven仓库地址及设置
  15. opengl 先旋转后平移和先平移后旋转解惑
  16. SEMrush SEO诊断:网站Google排名下跌的16个影响因素
  17. js添加多marker 高德地图_点标记-覆盖物-教程-地图 JS API | 高德地图API
  18. vs2017许可证书过期真正的解决方法
  19. 修改IDA pdb下载目录的方法(已实践)
  20. 我用Python写了一个PDF转换器!

热门文章

  1. 明基5560 win7 64驱动_这个Win7系统,稳定又纯净!
  2. hql 占位符_hibernate中如何使用占位符拼接HQL
  3. rest风格使用两个变量_SpringBoot2.x系列教程|构建RESTful风格的API接口
  4. Docker容器中bash: ip: command not found
  5. 获取浏览器地址栏字符串参数
  6. linux文件属性详解及文件类型
  7. 正则表达式 相关教程
  8. 火车进出站(POJ1363)
  9. 《JavaScript征途》广泛征集读后感创作者,参与有奖!
  10. 全文匹配方式查询(sql)