引言:Java实现学生信息管理系统,主要有一种是GUI图形界面实现,另一种是控制台输出,还有java web实现的,(基于Maven)甚至用SSM框架实现,springboot等都是可以的,但底层语言都是用的Java 语言,如果有需要类似的学生信息管理系统或者需要源码,无论是使用eclipse\myeclipse\idea开发,不管Java GUI图形界面,还是控制台实现、java web (MVC)实现,甚至SSM框架、springBoot等可以加我QQ(1728608455)Pramgram.
开发工具:eclipse/myEclipse/idea。
数据库:Mysql5.7,Navicat免费版。
开发环境:jdk1.8.
本次主要介绍使用Java语言实现学生信息管理系统,采用控制台输出,完成主要的增删改查功能,使用的开发工具主要用eclipse、navicat、mysql数据库另外介绍使用GUI图形 界面实现,Java web等就不再介绍了,万变不离根本,希望本次的项目开发能够帮到那些初学者的Java爱好者们。
效果图部分展示:
这是控制台数输出的主界面显示
以下这个是项目架构图
1、数据表设计
三个字段(学号,姓名,手机号)
表名为student,不弄那么多繁琐的字段了,省的麻烦,没有主键,id为学号,为了方便都是varchar(10)类型。
2、项目搭建(Java Project)
随意创建一个edu.jmi的package,和一个lib包里面了放了,mysql的jar包,mysql驱动,用来连接数据库,这个包里主要有DBUtils主要放着连接数据库的类,Student类、Main类、StuDao类。
3、各个类的代码实现:
(1):DBUtils类
public class DBUtils {
final static String DRIVER="com.mysql.jdbc.Driver";
final static String URL="jdbc:mysql://localhost:3306/test02?useUnicode=true&characterEncoding=utf-8";
final static String USER="root";
final static String PASSWORD="123456";
public static Connection getConnection(){
try{
Class.forName(DRIVER);
Connection connection=DriverManager.getConnection(URL,USER,PASSWORD);
//System.out.println("连接成功");
return connection;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
public static void closeConnection(Connection con){
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
很明显这是连接数据库的,连接数据库注意数据库名字不要写错。
(2)Student实体类
package edu.jmi;
public class Student {
private String id;
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 String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
private String name;
private String phone;
//无参构造函数
public Student() {
super();
// TODO Auto-generated constructor stub
}
//有参构造函数
public Student(String id, String name,String phone) {
super();
this.id = id;
this.name = name;
this.phone = phone;
}
}
setter和getter方法主要用于调用对象实现传参数和获取参数的。
(3)StuDao类
public class StuDao {
Connection con=null;
//添加学生信息
public boolean add(Student stu) {
String sql="insert into student(id,name,phone) values(?,?,?)";
try {
con=DBUtils.getConnection();
PreparedStatement pstmt=con.prepareStatement(sql);
// System.out.println(con);
pstmt=con.prepareStatement(sql);
pstmt.setString(1, stu.getId());
pstmt.setString(2, stu.getName());
pstmt.setString(3,stu.getPhone());
pstmt.execute();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally{
DBUtils.closeConnection(con);
}
return true;
}
//查看学生列表(1所有)
public List
List
try {
con=DBUtils.getConnection();
String sql="select * from student";
PreparedStatement pst=con.prepareStatement(sql);
ResultSet rs=pst.executeQuery();
while(rs.next()){//ֹ
Student stu=new Student();
stu.setId(rs.getString("id"));
stu.setName(rs.getString("name"));
stu.setPhone(rs.getString("phone"));
list.add(stu);
}
} catch (Exception e) {
e.printStackTrace();
} finally{
DBUtils.closeConnection(con);
}
return list;
}
public Student FindById(String id) {
try{
con=DBUtils.getConnection();
String sql="select * from student where id=?";
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1,id);
ResultSet rs=pst.executeQuery();
if(rs.next()){
Student stu=new Student();
stu.setId(rs.getString("id"));
stu.setName(rs.getString("name"));
stu.setPhone(rs.getString("phone"));
return stu;
}else{
return null;
}
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
DBUtils.closeConnection(con);
}
}
public boolean update(Student stu ,String id) {
try{
con=DBUtils.getConnection();
String sql="update student set name=?,phone=? where id=?";
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1,stu.getName());
pst.setString(2,stu.getPhone());
pst.setString(3,id);
pst.execute();
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
DBUtils.closeConnection(con);
}
}
//删除学生信息
public boolean delete(String id) {
try {
con=DBUtils.getConnection();
String sql="delete from student where id=?";
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1,id);
pst.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally{
DBUtils.closeConnection(con);
}
return true;
}
public static void main (String args[]) {
StuDao dao=new StuDao();
Student stu=dao.FindById("2");
System.out.print(stu.getName()+","+stu.getPhone());
Student student=new Student();
student.setId("2");
student.setName("xioaxueidi");
student.setPhone("17766091168");
//dao.add(student);*/
//boolean b=dao.update(student, "2");
//boolean b=dao.delete("1");
//System.out.print(b);
}
}
StuDao主要用于写的增删改查的四个功能,包括模糊查询等
(4)Main类
public class Main {
public void menu() {
//1.打印菜单
//2.输入菜单
//3.switch菜单选择
int choose;
do {
System.out.println("******************************");
System.out.println("=======欢迎进入学生信息管理系统=======");
System.out.println("1.新增学生");
System.out.println("2.修改学生");
System.out.println("3.删除学生");
System.out.println("4.查询学生");
System.out.println("5.退出该系统");
System.out.println("请选择(1-5):");
Scanner scanner=new Scanner(System.in);
choose=scanner.nextInt();
System.out.println("******************************");
switch (choose) {
case 1:
myAdd(); //菜单选择1,是新增学生
break;
case 2:
myUpdate(); //菜单选择2,是修改学生
break;
case 3:
myDel(); //菜单选择3,是删除学生
break;
case 4:
myList(); //菜单选择4,是查询学生
break;
case 5: //菜单选择5,是退出该系统
System.out.println("您选择了退出系统,确定要退出吗?(y/n)");
Scanner scan=new Scanner(System.in);
String scanExit=scan.next();
if(scanExit.equals("y")){
System.out.println("您已成功退出系统,欢迎您再次使用!");
System.exit(0);
}
break;
default:
break;
}
} while (choose!=5);
}
//新增学生信息
public void myAdd() {
String continute;
do {
Scanner s=new Scanner(System.in);
String id,name,phone;
System.out.println("====新增学生====");
System.out.println("学号:");
id=s.next();
System.out.println("姓名:");
name=s.next();
System.out.println("手机号:");
phone=s.next();
Student stu=new Student(id,name,phone);
StuDao dao=new StuDao();
boolean ok=dao.add(stu);
if (ok) {
System.out.println("保存成功!");
}else {
System.out.println("保存失败!");
}
System.out.println("是否继续添加(y/n):");
Scanner scanner2=new Scanner(System.in);
continute=scanner2.next();
} while (continute.equals("y"));
}
//删除学生信息
public void myDel(){
Scanner s=new Scanner(System.in);
String id;
System.out.println("====删除学生====");
System.out.println("请输入要删除的学生学号:");
id=s.next();
System.out.println("该学生的信息如下:");
StuDao dao=new StuDao();
System.out.println("学生学号:"+dao.FindById(id).getId());
System.out.println("学生姓名:"+dao.FindById(id).getName());
System.out.println("学生手机号:"+dao.FindById(id).getPhone());
System.out.println("是否真的删除(y/n):");
Scanner scanner3=new Scanner(System.in);
String x=scanner3.next();
if (x.equals("y")) {
Student stu=new Student(id,null,null);
boolean ok=dao.delete(id);
if (ok) {
System.out.println("删除成功!");
}else {
System.out.println("删除失败!");
}
}
}
//修改学生信息
public void myUpdate(){
Scanner s=new Scanner(System.in);
String id;
System.out.println("====修改学生====");
System.out.println("请输入要修改的学生学号:");
id=s.next();
System.out.println("该学生的信息如下:");
StuDao dao=new StuDao();
System.out.println("学生学号:"+dao.FindById(id).getId());
System.out.println("学生姓名:"+dao.FindById(id).getName());
System.out.println("学生手机号:"+dao.FindById(id).getPhone());
System.out.println("请输入新的学生信息:");
Scanner StudentUp=new Scanner(System.in);
String name,phone;
System.out.println("学生姓名:");
name=StudentUp.next();
System.out.println("学生手机号:");
phone=StudentUp.next();
Student stu=new Student(id,name,phone);
//StuDao dao=new StuDao();
boolean ok=dao.update(stu, id);
if (ok) {
System.out.println("保存成功!");
}else {
System.out.println("保存失败!");
}
}
//查询学生信息
public void myList(){
System.out.println("************************");
System.out.println("====查询学生====");
System.out.println("该学生的信息如下:");
System.out.println("学号\t姓名\t手机号");
StuDao dao=new StuDao();
List
for (Student stuList:list) { //循环打印出查询结果
System.out.println(stuList.getId()+"\t"+stuList.getName()+"\t"+stuList.getPhone());
}
System.out.println("**");
}
public static void main(String[] args) {
Main m=new Main();
m.menu();
}
}
Main类是运行的run application
(5)效果图展示:
7,我也会做GUI图形界面的Java 学生信息管理系统或者类似的,以下是效果图,需要的可以找我
希望能帮到大家,谢谢