package link; import java.sql.*; import java.util.*; import org.apache.jasper.tagplugins.jstl.core.Out; public class MyConnection { final String URL="jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC"; final String Name="root"; final String Password="woshinidie668"; private static String name; private static String password; private static String tpassword; private static String cname; private static int number; private static String sname; private static String ID; private static String sex; private static String course; private static String subject; private static String title; private static String Tname; private static String CID; private static int cnumber; private Connection con; private PreparedStatement stmt; private ResultSet rs; private PreparedStatement stmt1; private ResultSet rs1; private static String spassword; boolean a; public static String getCID() { return CID; } public static void setCID(String cID) { CID = cID; } public static String getName() { return name; } public static void setName(String name) { MyConnection.name = name; } public static String getPassword() { return password; } public static void setPassword(String password) { MyConnection.password = password; } public static int getNumber() { return number; } public static void setNumber(int number) { MyConnection.number = number; } public static String getCname() { return cname; } public static void setCname(String name) { cname = name; } public static String getTpassword() { return tpassword; } public static void setTpassword(String tpassword) { MyConnection.tpassword = tpassword; } public static String getSname() { return sname; } public static void setSname(String sname) { MyConnection.sname = sname; } public static String getID() { return ID; } public static void setID(String iD) { ID = iD; } public static String getSex() { return sex; } public static void setSex(String sex) { MyConnection.sex = sex; } public static String getCourse() { return course; } public static void setCourse(String class1) { course = class1; } public static String getSubject() { return subject; } public static void setSubject(String subject) { MyConnection.subject = subject; } public static int getCnumber() { return cnumber; } public static void setCnumber(int cnumber) { MyConnection.cnumber = cnumber; } public static String getTname() { return Tname; } public static void setTname(String tname) { Tname = tname; } public static String getTitle() { return title; } public static void setTitle(String title) { MyConnection.title = title; } public String getSpassword() { return spassword; } public void setSpassword(String spassword) { this.spassword = spassword; } public boolean isA() { return a; } public void setA(boolean a) { this.a = a; } public Connection getConnection() throws Exception { if(con == null) { // 指出连接数据库所需要的驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); System.out.println("数据库连接成功!"); // 建立与数据库之间的连接 con = DriverManager.getConnection(URL,Name,Password); System.out.println("数据库连接成功!"); } return con; } public void TnameFind(Connection conn) throws SQLException { String sql1="select * from imteacher where 教师工号=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1,getID( )); rs=stmt.executeQuery( ); while(rs.next()) { setTname(rs.getString("教师姓名")); } } public void SnameFind(Connection conn) throws SQLException { String sql1="select * from imstudent where 学号=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1,getID( )); rs=stmt.executeQuery( ); while(rs.next()) { setSname(rs.getString("姓名")); } } public boolean FindName(Connection conn) throws SQLException { String sql1="select * from management where 姓名=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1,getName( )); rs=stmt.executeQuery( ); while(rs.next( )) { setA(true); if(rs.getString("密码").equals(getPassword())) { return true; } else { return false; } } return false; } public void addStudent(Connection conn) { String sql="insert into imstudent (学号,姓名,性别,班级,专业) values (?,?,?,?,?)"; try { stmt=conn.prepareStatement(sql); stmt.setString(1,getID( )); stmt.setString(2,getSname( )); stmt.setString(3,getSex( )); stmt.setString(4,getCourse( )); stmt.setString(5,getSubject( )); stmt.execute( ); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public void teacherAdd(Connection conn) throws SQLException { String sql="insert into teacher (教师工号,密码) values (?,?)"; stmt=conn.prepareStatement(sql); stmt.setString(1,getID( )); stmt.setString(2,getTpassword( )); stmt.execute(); } public void studentAdd(Connection conn) throws SQLException { String sql="insert into student (学号,密码) values (?,?)"; stmt=conn.prepareStatement(sql); stmt.setString(1,getID( )); stmt.setString(2,getSpassword( )); stmt.execute(); } public void addTeacher(Connection conn) { String sql="insert into imteacher (教师工号,教师姓名,教师性别,教师所在学院,职称) values (?,?,?,?,?)"; try { stmt=conn.prepareStatement(sql); stmt.setString(1,getID( )); stmt.setString(2,getTname( )); stmt.setString(3,getSex( )); stmt.setString(4,getCourse( )); stmt.setString(5,getSubject( )); stmt.execute( ); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public void courseAdd(Connection conn) { String sql="insert into course (课程编号,课程名称,人数上限,任课教师,选课人数) values (?,?,?,?)"; try { stmt=conn.prepareStatement(sql); stmt.setString(1,getID( )); stmt.setString(2,getCname( )); stmt.setInt(3,getNumber( )); stmt.setString(4,getTname( )); stmt.setInt(5, 0); stmt.execute( ); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public boolean showCourse(Connection conn) throws SQLException { setA(false); String sql1="select * from course where 课程名称=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1, getName( )); rs=stmt.executeQuery( ); if(rs.next( )) { if(rs.getInt("选课人数")>=rs.getInt("人数上限")) { return false; } else { setA(true); setCID(rs.getString("课程编号")); setName(rs.getString("课程名称")); setNumber(rs.getInt("人数上限")); setTname(rs.getString("任课教师")); setCnumber(rs.getInt("选课人数")); return true; } } return true; } public void PasswordTset(PreparedStatement stmt) throws SQLException { stmt.setString(1,getTpassword( )); stmt.setString(2,getID( )); stmt.executeUpdate( ); } public void PasswordSset(PreparedStatement stmt) throws SQLException { stmt.setString(1,getSpassword( )); stmt.setString(2,getID( )); stmt.executeUpdate( ); } public boolean FindSname(Connection conn) throws SQLException { String sql1="select * from student where 学号=?"; String sql="Update student set 密码=? where 学号=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1,getID( )); rs=stmt.executeQuery( ); while(rs.next( )) { if(rs.getString("密码").equals("")) { stmt=conn.prepareStatement(sql); PasswordSset(stmt); break; } } rs.close( ); stmt.close( ); stmt1=conn.prepareStatement(sql1); stmt1.setString(1,getID( )); rs1=stmt1.executeQuery( ); while(rs1.next( )) { setA(true); if(rs1.getString("密码").equals(getSpassword())) { return true; } else { return false; } } return false; } public boolean FindTname(Connection conn) throws SQLException { String sql1="select * from teacher where 教师工号=?"; String sql="Update teacher set 密码=? where 教师工号=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1,getID( )); rs=stmt.executeQuery( ); while(rs.next( )) { if(rs.getString("密码").equals("")) { stmt=conn.prepareStatement(sql); PasswordTset(stmt); break; } } rs.close( ); stmt.close( ); stmt1=conn.prepareStatement(sql1); stmt1.setString(1,getID( )); rs1=stmt1.executeQuery( ); while(rs1.next( )) { setA(true); if(rs1.getString("密码").equals(getTpassword())) { return true; } else { return false; } } return false; } public void SearchTname(Connection conn) throws SQLException { String sql1="select * from imteacher where 教师姓名=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1,getTname( )); rs=stmt.executeQuery( ); while(rs.next( )) { setID(rs.getString("教师工号")); setTname(rs.getString("教师姓名")); setSex(rs.getString("教师性别")); setCourse(rs.getString("教师所在学院")); setSubject(rs.getString("职称")); } } public void SearchSname(Connection conn) throws SQLException { String sql1="select * from imstudent where 姓名=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1,getSname( )); rs=stmt.executeQuery( ); while(rs.next( )) { setID(rs.getString("学号")); setTname(rs.getString("姓名")); setSex(rs.getString("性别")); setCourse(rs.getString("班级")); setSubject(rs.getString("专业")); } } public void UpdateTeacher(Connection conn) throws SQLException { String sql1="Update imteacher set 教师所在学院=?,职称=? where 教师工号=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1, getCourse( )); stmt.setString(2, getSubject( )); stmt.setString(3, getID( )); stmt.execute( ); } public void UpdateStudent(Connection conn) throws SQLException { String sql1="Update imstudent set 班级=?,专业=? where 学号=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1, getCourse( )); stmt.setString(2, getSubject( )); stmt.setString(3, getID( )); stmt.execute( ); } public void UpdateCourse(Connection conn) throws SQLException { int a; String sql="Update course set 选课人数=? where 课程名称=?"; String sql1="select * from course where 课程名称=?"; stmt=conn.prepareStatement(sql1); stmt.setString(1, getName( )); rs=stmt.executeQuery( ); while(rs.next( )) { a=rs.getInt("选课人数"); a++; setNumber(a); stmt1=conn.prepareStatement(sql); stmt1.setInt(1,a); stmt1.setString(2, getName( )); stmt1.execute( ); } } public void AddImcourse(Connection conn) throws SQLException { String sql="select * from imstudent where 学号=?"; String sql1="insert into imcourse (选课学生,学号,性别,班级,专业,课程) values(?,?,?,?,?,?)"; stmt=conn.prepareStatement(sql); stmt.setString(1, getID( )); rs=stmt.executeQuery( ); while(rs.next( )) { setSname(rs.getString("姓名")); setSex(rs.getString("性别")); setCourse(rs.getString("班级")); setSubject(rs.getString("专业")); stmt1=conn.prepareStatement(sql1); stmt1.setString(1, getSname( )); stmt1.setString(2, getID( )); stmt1.setString(3, getSex( )); stmt1.setString(4, getCourse( )); stmt1.setString(5, getSubject( )); stmt1.setString(6, getName( )); stmt1.execute( ); } } public void ShowTeacher(Connection conn) throws SQLException { String sql="select * from imteacher where 教师姓名=?"; stmt=conn.prepareStatement(sql); stmt.setString(1, getTname( )); rs=stmt.executeQuery( ); while(rs.next( )) { setID(rs.getString("教师工号")); setSex(rs.getString("教师性别")); setCourse(rs.getString("教师所在学院")); setSubject(rs.getString("职称")); } } public boolean Judgement(Connection conn) throws SQLException { int i=0; String sql="select * from imcourse where 学号=?"; stmt=conn.prepareStatement(sql); stmt.setString(1, getID( )); rs=stmt.executeQuery( ); while(rs.next( )) { if(rs.getString("课程").equals(getName( ))) { i++; } } if(i<1)return true; else return false; } public void close() { try { rs.close(); } catch(Exception e){} try { stmt.close(); }catch(Exception e){} try { con.close(); }catch(Exception e){} } }