石家庄铁道大学选课管理系统
1、项目需求:
本项目所开发的学生选课系统完成学校对学生的选课信息的统计与管理,减少数据漏掉的情况,同时也节约人力、物力和财力。告别以往的人工统计。
2.系统要求与功能设计
2.1 页面要求
(1)能够在Tomcat服务器中正确部署,并通过浏览器查看;
(2)网站页面整体风格统一;
(3)首页(登录页)要求实现不同用户登录后,进入的功能页不相同。
(4)教师功能页:有添加课程、修改个人信息、浏览选课学生信息三个模块。
(5)学生功能页:有修改个人信息、浏览课程信息、选课三个功能模块。
(5)管理员功能页:有添加教师信息、添加学生信息两个模块。
2.2功能要求:
(1)添加教师信息:管理员可以添加教师基本信息,教师基本信息包括:教师工号(八位数字组成,例如02000081)、教师姓名、教师性别、教师所在学院、职称(教授、副教授、讲师、助教)组成;
(2)添加学生信息:管理可以添加学生基本信息,学生基本信息包括学号(八位数字组成,例如20180052)、学生姓名、学生性别、所在班级、所属专业组成;
(3)添加课程信息:教师登陆后,可以添加自己任职的课程基本信息,课程基本信息包括:课程编号(六位数字组成,例如050013),课程名称、选课人数、任课教师(任课教师不需录入,那位教师填写课程信息,那位教师就是任课教师);
(4)修改个人信息:教师或学生登陆后可以修改个人信息,但教师工号或学号不能修改,另外教师或学生只能修改自己的信息,无法看到或修改其他学生或教师的基本信息。
(5)浏览课程信息:学生登陆后可以看到所有课程的列表信息,点击课程名称可以查看课程的详细信息,包括已选课人数;点击教师名称可以查看教师的详细信息。
(6)选课:进入选课页面,课程信息列表显示所有选课人数未达到课程设置的选课人数上限,点击课程名称可以看到课程详细信息,点击课程详细信息页面的“选课”按钮,可以实现选课功能。
(7)浏览选课学生信息:教师进入该页面后,可以看到自己设置的课程信息列表,点击课程名称,可以看到,选择该课程的所有学生基本信息列表。
(8)登陆功能:管理员、教师、学生登陆后可以看到不同的功能页面,教师或学生登陆后只能看到自己的相关信息,不同教师、不同学生登陆后无法查看其他人的信息。(要求至少创建两个教师用户、十个学生用户演示选课过程)
3数据库设计:
要求实现课程基本信息表、教师基本信息表、学生基本信息表、选课基本信息表。(提示:选课基本信息包括课程编号、教师编号、学号等基本信息)
4、WEB发布:
要求可以实现在浏览器直接访问系统。
评分等级分类:
A级:起评分90分,要求完全按照要求实现全部功能。(结合以前成绩综合考量,确认为免试);
B级:起评分80分,最高分不超过89分,可以完成选课的基本流程,实现教师、学生、课程基本信息添加、选课功能实现,剩余功能有两个以下(包括两个)未实现;
C级:起评分70分,最高分不超过79分,可以实现教师、学生、课程基本信息添加、修改个人信息,无法实现选课功能;
D级:起评分60分,最高分不超过69分,可以完成教师、学生、课程两个以上(包括两个)基本信息添加;
E级:无法达到上述级别要求。
Javabean代码
学生
package Bean; import java.sql.*; public class std { static String driver = "com.mysql.cj.jdbc.Driver"; static String url = "jdbc:mysql://localhost:3306/student?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; // 数据库的用户名与密码,需要根据自己的设置 static String user = "root"; static String password = "hhw20000317"; static Connection con; private String xsno; private String xsname; private String sex; private String bj; private String zy; public std(String xsno, String xsname, String sex, String bj, String zy) { this.xsno = xsno; this.xsname = xsname; this.sex = sex; this.bj = bj; this.zy = zy; } public static int findxsno(String number,String[] xsno) { int i=0; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcno,jsno,xsno from xkxx"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String number1 = rs.getString("kcno"); String jsno = rs.getString("jsno"); String xsno1=rs.getString("xsno"); if(number.equals(number1)) { xsno[i]=xsno1; System.out.println(xsno1); i++; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return i; } public static int findkcno(String number,String[] kcno) { int i=0; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcno,jsno,xsno from xkxx"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String number1 = rs.getString("kcno"); String jsno = rs.getString("jsno"); String xsno1=rs.getString("xsno"); if(number.equals(xsno1)) { kcno[i]=number1; i++; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return i; } public static std findxs(String number) { try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number,name1,sex,bj,zy from student"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String number1 = rs.getString("number"); String xsname = rs.getString("name1"); String sex=rs.getString("sex"); String bj=rs.getString("bj"); String zy=rs.getString("zy"); if (number.equals(number1)) { std a=new std(number,xsname,sex,bj,zy); return a; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public static String luru(String number, String name, String sex, String bj, String zy) { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL // String driver = "com.mysql.jdbc.Driver"; // String url = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "insert into student values (?,?,?,?,?)"; PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理 pst.setString(1, number); pst.setString(2, name); pst.setString(3, sex); pst.setString(4, bj); pst.setString(5, zy); pst.executeUpdate(); stmt.executeUpdate(sql); con.close(); System.out.println("insert success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return name; } public static void change(String name,String sex,String bj,String zy,String number){ Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "update student set name1='"+name+"',sex='"+sex+"',bj='"+bj+"',zy='"+zy+"' where number ="+number+";"; stmt.executeUpdate(sql); con.close(); System.out.println("change success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static String luru(String kcno, String jsno, String xsno) { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL // String driver = "com.mysql.jdbc.Driver"; // String url = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "insert into xkxx values (?,?,?)"; PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理 pst.setString(1, kcno); pst.setString(2, jsno); pst.setString(3, xsno); pst.executeUpdate(); stmt.executeUpdate(sql); con.close(); System.out.println("insert success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return jsno; } public static int yz(String kcno, String jsno, String xsno) { int flag = 0; String kcno1; String jsno1; String xsno1; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcno,jsno,xsno from xkxx"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { kcno1 = rs.getString("kcno"); jsno1 = rs.getString("jsno"); xsno1=rs.getNString("xsno"); if (kcno.equals(kcno1)&&jsno.equals(jsno1)&&xsno.equals(xsno1)) { return 1; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return flag; } public String getXsno() { return xsno; } public String getXsname() { return xsname; } public String getSex() { return sex; } public String getBj() { return bj; } public String getZy() { return zy; } }
老师
package Bean; import java.sql.*; public class teacher { private String kcname; private String number; private String xkrs; private String rkls; private int yxrs; private String jsno; private String jsname; private String sex; private String xueyuan; private String level; static String driver = "com.mysql.cj.jdbc.Driver"; static String url = "jdbc:mysql://localhost:3306/teacher?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; // 数据库的用户名与密码,需要根据自己的设置 static String user = "root"; static String password = "hhw20000317"; static Connection con; public teacher(String jsname, String sex, String xueyuan, String level, String jsno) { this.jsname = jsname; this.sex = sex; this.xueyuan = xueyuan; this.level = level; this.jsno = jsno; } public teacher(String kcname, String number, String xkrs, String rkls, int yxrs, String jsno) { this.kcname = kcname; this.number = number; this.xkrs = xkrs; this.rkls = rkls; this.yxrs = yxrs; this.jsno = jsno; } public static void luru(String number, String name, String sex, String xueyuan, String level) { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL // String driver = "com.mysql.jdbc.Driver"; // String url = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "insert into teacher values (?,?,?,?,?)"; PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理 pst.setString(1, number); pst.setString(2, name); pst.setString(3, sex); pst.setString(4, xueyuan); pst.setString(5, level); pst.executeUpdate(); stmt.executeUpdate(sql); con.close(); System.out.println("insert success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static void luru(String number, String kcname, String xkrs, int yxrs, String jsno) { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL // String driver = "com.mysql.jdbc.Driver"; // String url = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "insert into xkb values (?,?,?,?,?)"; PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理 pst.setString(1, kcname); pst.setString(2, number); pst.setInt(3, yxrs); pst.setString(4, jsno); pst.setString(5, xkrs); pst.executeUpdate(); stmt.executeUpdate(sql); con.close(); System.out.println("insert success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static String find(String number) { String number1; String teachername; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number,name1 from teacher"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { number1 = rs.getString("number"); teachername = rs.getString("name1"); if (number.equals(number1)) { return teachername; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public static teacher findjs(String number) { try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number,name1,sex,xueyuan,level from teacher"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String number1 = rs.getString("number"); String teachername = rs.getString("name1"); String sex=rs.getString("sex"); String xueyuan=rs.getString("xueyuan"); String level=rs.getString("level"); if (number.equals(number1)) { teacher a=new teacher(teachername,sex,xueyuan,level,number); return a; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public static int cx(teacher[] kc){ int i=0; Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcname,number,yxrs,jsno,xkrs from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ String kcname=rs.getString("kcname"); String number=rs.getNString("number"); int yxrs=rs.getInt("yxrs"); String jsno=rs.getNString("jsno"); String xkrs=rs.getNString("xkrs"); String rkls= find(jsno); kc[i]=new teacher(kcname,number,xkrs, rkls, yxrs, jsno); i++; } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return i; } public static int cx(teacher[] kc,String teno){ int i=0; Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcname,number,yxrs,jsno,xkrs from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ String kcname=rs.getString("kcname"); String number=rs.getNString("number"); int yxrs=rs.getInt("yxrs"); String jsno=rs.getNString("jsno"); String xkrs=rs.getNString("xkrs"); String rkls= find(jsno); if(teno.equals(jsno)) { kc[i]=new teacher(kcname,number,xkrs, rkls, yxrs, jsno); i++;} } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return i; } public static teacher cx(String number1){ teacher a; Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcname,number,yxrs,jsno,xkrs from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ String kcname=rs.getString("kcname"); String number=rs.getNString("number"); int yxrs=rs.getInt("yxrs"); String jsno=rs.getNString("jsno"); String xkrs=rs.getNString("xkrs"); String rkls= find(jsno); if(number1.equals(number)) { a=new teacher(kcname,number,xkrs,rkls,yxrs,jsno); return a; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public String getNumber() { return number; } public String getKcname() { return kcname; } public String getXkrs() { return xkrs; } public String getRkls() { return rkls; } public int getYxrs() { return yxrs; } public static void change(String name,String sex,String xueyuan,String level,String number){ Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "update teacher set name1='"+name+"',sex='"+sex+"',xueyuan='"+xueyuan+"',level='"+level+"' where number ="+number+";"; stmt.executeUpdate(sql); con.close(); System.out.println("change success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static String teacherno(String number) { String number1; String jsno; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number,jsno from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { number1 = rs.getString("number"); jsno = rs.getString("jsno"); if (number.equals(number1)) { return jsno; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public static void changeyxrs(String kcno){ Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "update xkb set yxrs=yxrs+1 where number ="+kcno+";"; stmt.executeUpdate(sql); con.close(); System.out.println("change success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static int yz(String number) { int flag = 0; String number1; String part1; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { number1 = rs.getString("number"); if (number.equals(number1)) { return 1; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return flag; } public String getJsno() { return jsno; } public String getJsname() { return jsname; } public String getSex() { return sex; } public String getXueyuan() { return xueyuan; } public String getLevel() { return level; } }
账号信息
package Bean; import java.sql.*; public class teacher { private String kcname; private String number; private String xkrs; private String rkls; private int yxrs; private String jsno; private String jsname; private String sex; private String xueyuan; private String level; static String driver = "com.mysql.cj.jdbc.Driver"; static String url = "jdbc:mysql://localhost:3306/teacher?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; // 数据库的用户名与密码,需要根据自己的设置 static String user = "root"; static String password = "hhw20000317"; static Connection con; public teacher(String jsname, String sex, String xueyuan, String level, String jsno) { this.jsname = jsname; this.sex = sex; this.xueyuan = xueyuan; this.level = level; this.jsno = jsno; } public teacher(String kcname, String number, String xkrs, String rkls, int yxrs, String jsno) { this.kcname = kcname; this.number = number; this.xkrs = xkrs; this.rkls = rkls; this.yxrs = yxrs; this.jsno = jsno; } public static void luru(String number, String name, String sex, String xueyuan, String level) { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL // String driver = "com.mysql.jdbc.Driver"; // String url = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "insert into teacher values (?,?,?,?,?)"; PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理 pst.setString(1, number); pst.setString(2, name); pst.setString(3, sex); pst.setString(4, xueyuan); pst.setString(5, level); pst.executeUpdate(); stmt.executeUpdate(sql); con.close(); System.out.println("insert success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static void luru(String number, String kcname, String xkrs, int yxrs, String jsno) { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL // String driver = "com.mysql.jdbc.Driver"; // String url = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "insert into xkb values (?,?,?,?,?)"; PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理 pst.setString(1, kcname); pst.setString(2, number); pst.setInt(3, yxrs); pst.setString(4, jsno); pst.setString(5, xkrs); pst.executeUpdate(); stmt.executeUpdate(sql); con.close(); System.out.println("insert success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static String find(String number) { String number1; String teachername; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number,name1 from teacher"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { number1 = rs.getString("number"); teachername = rs.getString("name1"); if (number.equals(number1)) { return teachername; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public static teacher findjs(String number) { try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number,name1,sex,xueyuan,level from teacher"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String number1 = rs.getString("number"); String teachername = rs.getString("name1"); String sex=rs.getString("sex"); String xueyuan=rs.getString("xueyuan"); String level=rs.getString("level"); if (number.equals(number1)) { teacher a=new teacher(teachername,sex,xueyuan,level,number); return a; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public static int cx(teacher[] kc){ int i=0; Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcname,number,yxrs,jsno,xkrs from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ String kcname=rs.getString("kcname"); String number=rs.getNString("number"); int yxrs=rs.getInt("yxrs"); String jsno=rs.getNString("jsno"); String xkrs=rs.getNString("xkrs"); String rkls= find(jsno); kc[i]=new teacher(kcname,number,xkrs, rkls, yxrs, jsno); i++; } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return i; } public static int cx(teacher[] kc,String teno){ int i=0; Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcname,number,yxrs,jsno,xkrs from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ String kcname=rs.getString("kcname"); String number=rs.getNString("number"); int yxrs=rs.getInt("yxrs"); String jsno=rs.getNString("jsno"); String xkrs=rs.getNString("xkrs"); String rkls= find(jsno); if(teno.equals(jsno)) { kc[i]=new teacher(kcname,number,xkrs, rkls, yxrs, jsno); i++;} } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return i; } public static teacher cx(String number1){ teacher a; Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select kcname,number,yxrs,jsno,xkrs from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ String kcname=rs.getString("kcname"); String number=rs.getNString("number"); int yxrs=rs.getInt("yxrs"); String jsno=rs.getNString("jsno"); String xkrs=rs.getNString("xkrs"); String rkls= find(jsno); if(number1.equals(number)) { a=new teacher(kcname,number,xkrs,rkls,yxrs,jsno); return a; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public String getNumber() { return number; } public String getKcname() { return kcname; } public String getXkrs() { return xkrs; } public String getRkls() { return rkls; } public int getYxrs() { return yxrs; } public static void change(String name,String sex,String xueyuan,String level,String number){ Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "update teacher set name1='"+name+"',sex='"+sex+"',xueyuan='"+xueyuan+"',level='"+level+"' where number ="+number+";"; stmt.executeUpdate(sql); con.close(); System.out.println("change success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static String teacherno(String number) { String number1; String jsno; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number,jsno from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { number1 = rs.getString("number"); jsno = rs.getString("jsno"); if (number.equals(number1)) { return jsno; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return null; } public static void changeyxrs(String kcno){ Connection con; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入??? String sql = "update xkb set yxrs=yxrs+1 where number ="+kcno+";"; stmt.executeUpdate(sql); con.close(); System.out.println("change success!"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } public static int yz(String number) { int flag = 0; String number1; String part1; try { //注册JDBC驱动程 序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("数据库连接成功"); } Statement stmt = con.createStatement(); // String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')"; String sql = "select number from xkb"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { number1 = rs.getString("number"); if (number.equals(number1)) { return 1; } } con.close(); } catch (ClassNotFoundException e) { System.out.println("数据库驱动没有安装"); } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } return flag; } public String getJsno() { return jsno; } public String getJsname() { return jsname; } public String getSex() { return sex; } public String getXueyuan() { return xueyuan; } public String getLevel() { return level; } }