编写一个简单带有图形界面的SSMS,主要实现增删改查功能

开发工具:IntelliJIDEA、mysql(8.0版本)

需要下载数据库驱动,版本必须和数据库版本一致。驱动官网下载地址

项目总构架:

1、登录页面

2、欢迎主页面

3、添加学生信息

4、删除学生信息

5、学生列表信息

6、查询学生信息

7、修改学生信息

一、创建一个命名为lib文件夹来放数据库驱动,然后点右击Add加载jar包

二、如果想要用图片来作为背景用,可以创建一个images放图片,然后在view包再修改各个类的背景图片路径

三、创建数据库命名为ssms

四、用户名:admin

初始密码:111111

注:登录密码和用户名可以任意修改

连接数据库一个工具类,这里的User和PWD要改为你自己的数据库用户名和密码

package utils;import java.sql.*;/*** @author shkstart* @create 2021-07-11 13:04*/
public class DbUtil
{private static final String User = "*****"; //数据库用户名private static final String PWD = "******"; //数据库密码private static final String URL = "jdbc:mysql://localhost:3306/ssms"; /*** jdbc:mysql:// 是指JDBC连接方式;localhost: 是指你的本机地址;3306 :SQL数据库的端口号;ssms :就是你的数据库名字*/private static final String DRIVER = "com.mysql.cj.jdbc.Driver"; //驱动static{try{Class.forName(DRIVER);}catch (ClassNotFoundException e){e.printStackTrace();}}public static Connection getConnection(){try{return DriverManager.getConnection(URL,User,PWD);}catch (SQLException e){e.printStackTrace();}return null;}public static void close(Connection connection, Statement statement){if (statement!=null){try{statement.close();}catch (SQLException e){e.printStackTrace();}}}public static void close(Connection connection, Statement statement, ResultSet rs){if (statement!=null){try{statement.close();}catch (SQLException e){e.printStackTrace();}}if (connection!=null){try{connection.close();}catch (SQLException e){e.printStackTrace();}}if (rs!=null){try{rs.close();}catch (SQLException e){e.printStackTrace();}}}
}

操作数据库里学生信息类

package dao;
import model.Student;
import utils.DbUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;/*** @author shkstart* @create 2021-07-11 13:01*/
public class StuDao
{public boolean addStu(Student student){Connection connection = DbUtil.getConnection();String sql = "INSERT INTO student(id,name,grade,departments,phone)values(?,?,?,?,?)";try{PreparedStatement ps = connection.prepareStatement(sql);ps.setString(1,student.getId());ps.setString(2,student.getName());ps.setString(3,student.getGrade());ps.setString(4,student.getDepartments());ps.setString(5,student.getPhone());if (!ps.execute()){DbUtil.close(connection,ps);return true;}}catch (SQLException e){e.printStackTrace();}return false;}public boolean delStu(String id){Connection connection = DbUtil.getConnection();String sql = "delete from student where id=?";try{PreparedStatement ps = connection.prepareStatement(sql);ps.setString(1,id);if (!ps.execute()){DbUtil.close(connection,ps);return true;}}catch (SQLException e){e.printStackTrace();}return false;}public boolean updateStu(Student student){Connection connection = DbUtil.getConnection();String sql = "update student set name=?,grade=?,departments=?,phone=? where id=?";try{PreparedStatement ps = connection.prepareStatement(sql);ps.setString(1,student.getName());ps.setString(2,student.getGrade());ps.setString(3,student.getDepartments());ps.setString(4,student.getPhone());ps.setString(5,student.getId());if (!ps.execute()){DbUtil.close(connection,ps);return true;}}catch (SQLException e){e.printStackTrace();}return false;}public Student findStu(String id){Connection connection = DbUtil.getConnection();String sql = "SELECT id,name,grade,departments,phone FROM student where id=?";try{PreparedStatement ps = connection.prepareStatement(sql);ps.setString(1,id);ResultSet rs = ps.executeQuery();if (rs.next()){Student student = new Student(rs.getString("id"),rs.getString("name"),rs.getString("grade"),rs.getString("departments"),rs.getString("phone"));DbUtil.close(connection,ps);return student;}}catch (SQLException e){e.printStackTrace();}return null;}public ArrayList<Student>listStu(){ArrayList<Student> students = new ArrayList<>();Connection connection = DbUtil.getConnection();String sql = "SELECT id,name,grade,departments,phone FROM student";try{PreparedStatement ps = connection.prepareStatement(sql);ResultSet rs =  ps.executeQuery();while (rs.next()){Student student = new Student(rs.getString("id"),rs.getString("name"),rs.getString("grade"),rs.getString("departments"),rs.getString("phone"));students.add(student);}DbUtil.close(connection,ps);return students;}catch (SQLException e){e.printStackTrace();}return null;}
}

项目全部代码请参考:链接:https://pan.baidu.com/s/10xrR2ZMhLZPdlcMWR2nU-Q 
提取码:linv

学生个人信息管理系统(mysql)相关推荐

  1. java学籍管理系统课设报告,基于SSM+Redis+LayUI的大学生学籍信息管理系统-java学生学籍信息管理系统mysql数据源...

    "基于SSM+Redis+LayUI的大学生学籍信息管理系统-java学生学籍信息管理系统mysql数据源 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学 ...

  2. mysql查询各类课程的总学分_基于jsp+mysql的JSP学生选课信息管理系统

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA都可以 硬件环境: windows 7/8/10 ...

  3. java计算机毕业设计学生学籍信息管理系统源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计学生学籍信息管理系统源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计学生学籍信息管理系统源码+mysql数据库+lw文档+系统+调试部署 本源码技术栈: ...

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

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

  5. 基于Java毕业设计学生学籍信息管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计学生学籍信息管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计学生学籍信息管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S ...

  6. 计算机毕业设计Java学生学籍信息管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java学生学籍信息管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java学生学籍信息管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B ...

  7. python 实现学生信息管理系统+MySql 数据库,包含源码及相关实现说明~

    学生信息管理系统 1.系统说明 python 编写的学生信息管理系统+MySQL数据库,实现了增删改查的基本功能. 2.数据库说明 本人使用的是 MySQL8.0 版本 数据库端口号为:3306 数据 ...

  8. 【基于SSM+MySQL+Jsp的高校学生成绩信息管理系统的设计与实现 ---(效果+源代码+数据库+获取 ~ ~】

    快速阅读目录 写在前面: (一)效果展示 (1)数据库表一览 (2)部分运行截图 (二)代码展示 (三)说明 写在前面: tips:这是一个基于SSM+MySQL+Jsp等技术的高校学生成绩信息管理系 ...

  9. 基于PHP+mysql学生选课信息管理系统

    .简介 本套学生选课信息管理系统基于PHP7 / MySQL编写,部署简易,功能强大,上手简单. 系统可以准确地记录和查询学生信息,包括学生的姓名.单位.年龄.性别以及身份证号码等. 系统可以准确地记 ...

  10. Springboot+mysql学生就业信息管理系统-计算机毕业设计源码95340

    摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对学生就业信息管理系统等 ...

最新文章

  1. 所有企业要注意了,你随时可能掉进GDPR这个坑里!
  2. 使用Hexo在Github搭建静态博客
  3. SQL*PLUS常用命令
  4. 2018-2019-1 20189218《Linux内核原理与分析》第五周作业
  5. python各种类型日期转换大全
  6. ios14的蓝牙弹窗_iOS14来了,总结一下给你带来了哪些最实用的功能
  7. qt mysql查询中文相等_请教:Qt如何实现查询数据库中具有中文表名的表
  8. MyFlash——美团点评的开源MySQL闪回工具
  9. 三问(why?what?how?)金融领域的机器学习
  10. 开启灯光就是近光吗_有用!科目三灯光模拟操作大全
  11. win7 能下node什么版本_微软从未公开的win10版本,3GB+极度精简,老爷机有救了
  12. 查看系统CPU是否支持KVM虚拟化(回显,shell脚本)
  13. java面试算法总结_java编程面试过程中常见的10大算法概念汇总
  14. 金融产品经理---理财公司业务模式剖析
  15. TCP\IP协议实践:wireshark抓包分析之链路层与网络层
  16. 设置Mysql数据库的默认编码为utf8
  17. Scylla3.0.4在CentOS7.4上的安装
  18. 怎么恢复苹果内置的计算机,苹果自带软件删了怎么恢复原状
  19. 2018年电子设计大赛主要元器件、模块资料汇总
  20. docker容器测试技巧

热门文章

  1. 基于whisper模型的在线添加视频字幕网站(持续更新)
  2. 【无线电】无线电频谱和波段划分
  3. 邮箱邮件安全问题有哪些?如何做邮件安全宣传?
  4. 试题 算法提高 盾神与条状项链
  5. linux启动lighttpd服务,Linux下Lighttpd的安装配置
  6. linux lighttpd,linux下lighttpd服务器的详细安装步骤 以及对flv流媒体的支持配置
  7. Android桌面插件系列
  8. vbs模拟post请求上传文件
  9. ALC662 在Mac中的安装
  10. 安卓初学者笔记(四):用白话讲明白Activity是什么