java+mysql 学生管理系统 控制台输出

    技术2022-07-11  94

    java+mysql 学生管理系统 控制台输出

    大一下学期的java课设,比较简单也还蛮广泛适用的,可以进行一些更改变为其他系统;实在是写这个狗比作业耗了太多时间,在网上也没有找到可以参考的代码,所以把自己辛苦写的作业发上来给以后的学弟学妹们做个参考; 工具:navicat,eclipse; 准备:下载jdk,mysql和各种软件,配置环境变量,还有导入驱动jar包什么的这些网上都有,可以自己去查看。 具体:navicat建两个无关联的表(java连接数据库做简单的注册登录,还有增删改查等操作);

    一、建表语句: 学生信息表 CREATE TABLE stu ( id int(20) NOT NULL AUTO_INCREMENT COMMENT ‘学号’, username varchar(20) NOT NULL COMMENT ‘姓名’, password varchar(20) NOT NULL COMMENT ‘密码’, sex varchar(20) NOT NULL COMMENT ‘性别’, telephone varchar(20) NOT NULL COMMENT ‘手机号码’, grade varchar(20) NOT NULL COMMENT ‘班级’, PRIMARY KEY (id), KEY grade (grade) ) ENGINE=InnoDB AUTO_INCREMENT=1006 DEFAULT CHARSET=utf8mb4; 教师信息表 CREATE TABLE tea ( id int(20) NOT NULL AUTO_INCREMENT COMMENT ‘老师工号’, username varchar(20) NOT NULL COMMENT ‘老师姓名’, password varchar(20) NOT NULL COMMENT ‘密码’, sex varchar(20) NOT NULL COMMENT ‘性别’, telephone varchar(20) NOT NULL COMMENT ‘手机号码’, office varchar(20) NOT NULL COMMENT ‘办公室’, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=2006 DEFAULT CHARSET=utf8mb4;

    二、我的源码是:

    import java.sql.*; import java.util.Scanner; public class 系统 { public static void main(String[] args) throws ClassNotFoundException, SQLException ,SQLTimeoutException{ Scanner in=new Scanner(System.in); Class.forName("com.mysql.cj.jdbc.Driver"); Connection c=DriverManager.getConnection("jdbc:mysql://localhost:3306/xsglxt?useSSL=FALSE&serverTimezone=UTC&characterEncoding=UTF-8","root","123456"); System.out.println("数据库连接成功"); boolean tc=true; int tid=0; int sd=0; while(tc) { System.out.println("\n欢迎登入学生管理系统"); System.out.println("学生登录请输入1"); System.out.println("老师登录请输入2"); System.out.println("学生注册请输入3"); System.out.println("老师注册请输入4"); System.out.println("退出请输入其他数字"); int a=in.nextInt(); boolean spd=false; boolean tpd=false; String password=null; switch(a){ case 1:{ System.out.println("请输入你的账号:"); int id=in.nextInt(); String tt=in.nextLine(); System.out.println("请输入你的密码:"); password=in.nextLine(); String sql=("select * from stu where id=? and password=?"); PreparedStatement p = c.prepareStatement(sql); p.setInt(1, id); p.setString(2,password); ResultSet r=p.executeQuery(); if(r.next()) { System.out.println("登录成功"); spd=true; sd=id; welcome(); }else { System.out.println("登录失败"); System.out.println("请重新输入数字"); } break; } case 2:{ System.out.println("请输入你的账号:"); int id=in.nextInt(); System.out.println("请输入你的密码:"); String tt=in.nextLine(); password=in.nextLine(); String sql=("select * from tea where id=? and password=?"); PreparedStatement p = c.prepareStatement(sql); p.setInt(1, id); p.setString(2,password); ResultSet r=p.executeQuery(); if(r.next()) { System.out.println("登录成功"); tid=id; tpd=true; welcome(); }else { System.out.println("登录失败"); System.out.println("请重新输入数字"); } break; } case 3:{ String sql1=("insert into stu values(?,?,?,?,?,?)"); PreparedStatement p=c.prepareStatement(sql1); System.out.println("输入你的id"); int id=in.nextInt(); p.setInt(1, id); String tt=in.nextLine(); System.out.println("请输入你的姓名"); String ss=in.nextLine(); p.setString(2,ss); System.out.println("输入你的密码"); String mima=in.nextLine(); p.setString(3,mima); System.out.println("输入你的性别"); String xingbie=in.nextLine(); p.setString(4,xingbie); System.out.println("输入你的手机号码"); String tp=in.nextLine(); p.setString(5,tp); System.out.println("输入你的班级"); String bj=in.nextLine(); p.setString(6,bj); int i=p.executeUpdate(); if(i!=0) { System.out.println("创建成功"); }else { System.out.println("创建失败"); } break; } case 4:{ String sql1=("insert into tea values(?,?,?,?,?,?)"); PreparedStatement p=c.prepareStatement(sql1); System.out.println("输入你的id"); int id=in.nextInt(); p.setInt(1, id); String tt=in.nextLine(); System.out.println("请输入你的姓名"); String ss=in.nextLine(); p.setString(2,ss); System.out.println("输入你的密码"); String mima=in.nextLine(); p.setString(3,mima); System.out.println("输入你的性别"); String xingbie=in.nextLine(); p.setString(4,xingbie); System.out.println("输入你的手机号码"); String tp=in.nextLine(); p.setString(5,tp); System.out.println("输入你的办公室"); String bj=in.nextLine(); p.setString(6,bj); int i=p.executeUpdate(); if(i!=0) { System.out.println("创建成功"); }else { System.out.println("创建失败"); } break; } default:{ System.out.println("欢迎下次使用学生管理系统"); tc=false; } } if(spd) { boolean o=true; while(o) { System.out.println("\n查看个人信息请输入1"); System.out.println("更改密码请输入2"); System.out.println("退出请如输入其他数字"); a=in.nextInt(); switch(a) { case 1:{ // id,username,password,sex,age,telephone,email,grade,status,type String sql1=("select username,sex,telephone,grade from stu where stu.username=username and" + " stu.sex=sex and stu.telephone=telephone and stu.grade=grade and stu.id=?"); PreparedStatement p=c.prepareStatement(sql1); p.setInt(1,sd); ResultSet r=p.executeQuery(); if(r.next()) { System.out.println("\n姓名:"+r.getObject(1) +"\n性别:"+r.getObject(2)+"\n手机号码:"+r.getObject(3)+"\n班级:"+r.getObject(4)); } break; } case 2:{ //String sql1=("update stu password = ?"); String sql1=("update stu set password = ? where id=? "); //update 表名 set 字段名1=值1,... Where 关键字=值 PreparedStatement p=c.prepareStatement(sql1); boolean l=true; while(l) { System.out.println("请输入你要更改的密码(输入0退出)"); String tt=in.nextLine(); String ss=in.nextLine(); if(ss.equals("0")) break; System.out.println("请再次输入你要更改的密码"); String s=in.nextLine(); if(ss.equals(s)) { p.setString(1,s); System.out.println("请输入要改密码的id:"); int nid=in.nextInt(); p.setInt(2, nid); int i=p.executeUpdate(); if(i!=0) { System.out.println("更改成功"); l=false; }else { System.out.println("更改失败,请重新输入"); } }else { System.out.println("更改失败,请重新输入"); } } break; } default:{ o=false; System.out.println("欢迎下次使用学生管理系统"); } } } } if(tpd) { boolean o=true; while(o) { System.out.println("\n查看个人信息请输入1"); System.out.println("增加学生请输入2"); System.out.println("删除学生请输入3"); System.out.println("查找学生请输入4"); System.out.println("退出请如输入其他数字"); a=in.nextInt(); switch(a) { case 1:{ String sql2=("select username,sex,telephone,office from tea " + "where tea.username=username and tea.sex=sex and tea.telephone" + "=telephone and tea.office=office and tea.id=? "); PreparedStatement p=c.prepareStatement(sql2); p.setInt(1,tid); ResultSet r=p.executeQuery(); if(r.next()) { System.out.println("姓名:"+r.getObject(1)+"\n性别:"+r.getObject(2)+"\n手机号码:" +r.getObject(3)+"\n办公室:"+r.getObject(4)); } break; } case 2:{ String sql1=("insert into stu values(?,?,?,?,?,?)"); PreparedStatement p=c.prepareStatement(sql1); System.out.println("输入学生id"); int id=in.nextInt(); p.setInt(1, id); String tt=in.nextLine(); System.out.println("请输入学生姓名"); String ss=in.nextLine(); p.setString(2,ss); System.out.println("输入学生密码"); String mima=in.nextLine(); p.setString(3,mima); System.out.println("输入学生性别"); String xingbie=in.nextLine(); p.setString(4,xingbie); System.out.println("输入学生手机号码"); String tp=in.nextLine(); p.setString(5,tp); System.out.println("输入学生班级"); String bj=in.nextLine(); p.setString(6,bj); int i=p.executeUpdate(); if(i!=0) { System.out.println("创建成功"); }else { System.out.println("创建失败"); } break; } case 3:{ boolean l=true; while(l) { System.out.println("请输入要删除学生的id(退出请输入0)"); int sid=in.nextInt(); if(sid==0) break; String sql1=("delete from stu where id=?"); PreparedStatement p=c.prepareStatement(sql1); p.setInt(1, sid); int i=p.executeUpdate(); if(i!=0) { System.out.println("删除成功"); l=false; }else { System.out.println("找不到目标,请重新输入"); } } break; } case 4:{ boolean l=true; while(l) { System.out.println("请输入要查找学生的id(退出请输入0)"); int sid=in.nextInt(); if(sid==0) break; String sql1=("select username,sex,telephone,grade from stu where stu.username=username and " + " stu.sex=sex and stu.telephone=telephone and stu.grade=grade and stu.id=? "); PreparedStatement p=c.prepareStatement(sql1); p.setInt(1,sid); ResultSet r=p.executeQuery(); if(r.next()) { System.out.println("姓名:"+r.getObject(1)+"\n性别:"+r.getObject(2)+"\n手机号码:" +r.getObject(3)+"\n班级:"+r.getObject(4)); l=false; }else { System.out.println("找不到目标,请重新输入"); } } break; } default:{ o=false; System.out.println("欢迎下次使用学生管理系统"); } } } } } } public static void welcome() { System.out.println("欢迎使用学生管理系统"); } }

    都是我运行过的代码,代码应该不会有出错的地方。

    Processed: 0.018, SQL: 9