package free.exer;
import java.sql.*;
import java.util.Scanner;
/**
*
* 学生管理系统
*
*/
public class test27{
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/student?characterEncoding=utf-8&serverTimeZone=Asia/Shanghai";
String username = "root";
String password = "mysql";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
boolean isflag = true;
while (isflag) {
System.out.println("欢迎进入学生管理系统");
System.out.println("1.登录");
System.out.println("2.注册");
System.out.println("3.注销");
System.out.println("4.退出");
Scanner scan = new Scanner(System.in);
System.out.print("请输入你的选择:");
int num = scan.nextInt();
switch (num) {
case 1:
System.out.println("请输入你的登录账户");
System.out.print("请输入你的账号:");
String inusername = scan.next();
System.out.print("请输入你的密码:");
String inpassword = scan.next();
String boolname = null;
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(url, username, password);
String sql = "select * from user where username=? and password=?";
ps = conn.prepareStatement(sql);
ps.setString(1, inusername);
ps.setString(2, inpassword);
rs = ps.executeQuery();
while (rs.next()) {
boolname = rs.getString("username");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
System.out.println(boolname);
if (boolname == null) {
System.out.println("用户名或密码不存在");
} else {
boolean boolName = true;
while (boolName) {
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.print("请输入你的选择:");
int innum = scan.nextInt();
switch (innum) {
case 1:
System.out.println("查看学生信息");
try {
conn = DriverManager.getConnection(url, username, password);
String sql = "select * from students ";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
test27 stu = new test27();
int sid = rs.getInt("sid");
String name = rs.getString("name");
int age = rs.getInt("age");
String sex = rs.getString("sex");
String major = rs.getString("major");
System.out.println("学号:" + sid + "\t姓名:" + name + "\t年龄:" + age + "\t性别:" + sex + "\t专业:" + major);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 2:
System.out.println("修改学生信息");
System.out.print("请输入要修改的学生学号:");
int insid = scan.nextInt();
System.out.println("请输入修改后的学生姓名");
String upname = scan.next();
try {
conn = DriverManager.getConnection(url, username, password);
String sql = "UPDATE students SET name=? WHERE sid=?";
ps = conn.prepareStatement(sql);
ps.setString(1, upname);
ps.setInt(2, insid);
int num1 = ps.executeUpdate();
if (num1 > 0) {
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 3:
System.out.println("删除学生信息");
System.out.println("请输入要删除学生的学号");
int num2 = scan.nextInt();
try {
conn = DriverManager.getConnection(url, username, password);
String sql = "delete from students where sid=?";
ps = conn.prepareStatement(sql);
ps.setInt(1, num2);
int num3 = ps.executeUpdate();
if (num3 > 0) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 4:
System.out.println("添加学生信息");
System.out.println("请输入要添加的学生学号");
int addid = scan.nextInt();
System.out.println("请输入要添加的学生姓名");
String addname = scan.next();
System.out.println("请输入要添加的学生年龄");
int addage = scan.nextInt();
System.out.println("请输入要添加的学生性别");
String addsex = scan.next();
System.out.println("请输入要添加的学生专业");
String addmajor = scan.next();
try {
conn = DriverManager.getConnection(url, username, password);
String sql = "INSERT INTO students(sid,name,age,sex,major) VALUES(?,?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setInt(1, addid);
ps.setString(2, addname);
ps.setInt(3, addage);
ps.setString(4, addsex);
ps.setString(5, addmajor);
int i = ps.executeUpdate();
if (i > 0) {
System.out.println("添加成功");
} else {
System.out.println("添加失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 5:
boolName = false;
System.out.println("退出成功");
break;
}
}
}
break;
case 2:
System.out.println("请输入你的注册账户");
System.out.println("请输入你的账号");
String loginname = scan.next();
System.out.println("请输入你的密码");
int loginpass = scan.nextInt();
Connection conn1 = null;
PreparedStatement ps1 = null;
try {
conn1 = DriverManager.getConnection(url, username, password);
String sql = "insert into user(username,password) values(?,?)";
ps1 = conn1.prepareStatement(sql);
ps1.setString(1, loginname);
ps1.setInt(2, loginpass);
int i = ps1.executeUpdate();
if (i > 0) {
System.out.println("注册成功");
} else {
System.out.println("注册失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps1 != null) {
try {
ps1.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn1 != null) {
try {
conn1.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 3:
System.out.print("请输入你要注销的账号:");
String delename = scan.next();
System.out.print("请输入密码:");
int delepass = scan.nextInt();
try {
conn=DriverManager.getConnection(url,username,password);
String sql="delete from user where username=? and password=?";
ps=conn.prepareStatement(sql);
ps.setString(1,delename);
ps.setInt(2,delepass);
int i = ps.executeUpdate();
if (i>0){
System.out.println("注销成功");
}else{
System.out.println("注销失败");
}
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
break;
case 4:
isflag=false;
System.out.println("退出成功");
break;
default:
System.out.println("你的选择有错误,请重新选择");
}
}
}
}
学生管理系统----JavaSE和JDBC练习
最新推荐文章于 2026-07-04 11:31:50 发布
本文详细介绍了使用JavaSE和JDBC技术开发学生管理系统的实践过程,涵盖了数据库连接、CRUD操作等关键步骤,旨在提升Java编程和数据库交互能力。
382

被折叠的 条评论
为什么被折叠?



