Java期末大作业补救基地~ 谁还不会点JDBC?【Java Swing 和 Mysql】历时三天三夜的代码&&直接白拿

图片logo
主页面:登录和注册页面
主要是JDBC操作
baseOperate:主要是班级管理,学生管理,成绩管理,课程管理的添加,删除,修改操作
student_inquire:获取学生的成绩(查询)。
teacher_inqure:获取班级管理,学生管理,成绩管理,课程管理的具体信息(查询)
verification:登录&注册的逻辑验证
first_web:学生页面大概框架
second_web:学生页面具体实现
first_web:大体框架
second_web:具体实现

package index;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import Mysql.verification.Login_register_verification;
import student.first_web.Student_Main;
import teacher.first_web.Teacher_Main;
public class Main
{
public static String u = null;
public static void FirstPage()
{
//创建窗口
JFrame f = new JFrame("学生管理系统");
//设置窗口大小
Dimension d = new Dimension();
d.setSize(510, 580);//510 580
f.setSize(d);
// //窗口背景颜色(无效果)
// f.setBackground(Color.red);
//窗口显示位置
f.setLocationRelativeTo(null);
//设置布局方式:绝对定位
f.setLayout(null);
//字体大小
Font font = new Font("login_web", Font.BOLD, 20);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@账号&密码&账号登录身份@@@@@@@@@@@@@@@@@
//实例化
JLabel username = new JLabel("用户名:");
JLabel password = new JLabel("密码:");
JLabel identity = new JLabel("账号登录身份:");
//设置字体样式
username.setFont(font);
password.setFont(font);
identity.setFont(font);
//设置字体颜色
username.setForeground(Color.blue);
password.setForeground(Color.blue);
identity.setForeground(Color.blue);
//设置绝对定位
username.setBounds(100, 225, 150, 30);
password.setBounds(100, 275, 150, 30);
identity.setBounds(100, 325, 150, 30);
f.add(username);
f.add(password);
f.add(identity);
//@@@@@@@@@@@@@@@@@@@@@@@@top学校logo@@@@@@@@@@@@@@@@@
//实例化
Icon schoolimg = new ImageIcon("src/img/logo.jpg");
JLabel school_Image = new JLabel(schoolimg,JLabel.CENTER);
//设置绝对定位
school_Image.setBounds(0, 0, 500,200);
f.add(school_Image);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@登录&注册按钮@@@@@@@@@@@@@@@@@@@@
//实例化
JButton login_but = new JButton("登录");
JButton register_but = new JButton("注册");
//设置绝对定位
login_but.setBounds(140, 400, 90, 50);
register_but.setBounds(260, 400, 90, 50);
//字体样式
login_but.setFont(font);
register_but.setFont(font);
//字体颜色
login_but.setForeground(Color.red);
register_but.setForeground(Color.red);
f.add(login_but);
f.add(register_but);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@文本框@@@@@@@@@@@@@@@@@@
JTextField name = new JTextField(30);
//JTextField pass = new JTextField(30);
JPasswordField pass =new JPasswordField(30);
//pass.setEchoChar('X');
String types[]= {"老师","学生"};
JComboBox<String> jbox = new JComboBox<String>(types);
//位置:
name.setBounds(200, 225, 150, 30);
pass.setBounds(200, 275, 150, 30);
jbox.setBounds(250, 325, 100, 30);
f.add(name);
f.add(pass);
f.add(jbox);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@点击登录@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
login_but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//判断触发源是不是 按钮
if(e.getSource()==login_but)
{
System.out.println(name.getText()+"\t"+new String(pass.getPassword())+"\t"+(String)jbox.getSelectedItem());
try
{
//存在此用户==》登陆成功
if(Login_register_verification.login_verification(name.getText(), new String(pass.getPassword()),(String)jbox.getSelectedItem()))
{
u = name.getText();
System.out.println(u);
//打开老师页面
if((jbox.getSelectedItem().equals("老师")))
{
f.dispose();
Teacher_Main.login();
}
//打开学生页面
else
{
f.dispose();
Student_Main.login();
}
}
//登陆失败
else
{
name.setText("");
pass.setText("");
JOptionPane.showMessageDialog(null, "账号或密码错误,请重新输入!!\n或身份选择错误!!!!\n如果没有注册过,请先注册!!!");
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@点击注册@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
register_but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println(name.getText()+"\t"+new String(pass.getPassword())+"\t"+(String)jbox.getSelectedItem());
//判断触发源是不是 按钮
if(e.getSource()==register_but)
{
try
{
//用户名或密码 空
if(name.getText().isEmpty() || new String(pass.getPassword()).isEmpty())
{
JOptionPane.showMessageDialog(null, "用户名or密码不能为空!");
}
else
{
//成功注册
if(Login_register_verification.register_verification(name.getText(), new String(pass.getPassword()),(String)jbox.getSelectedItem()))
{
name.setText("");
pass.setText("");
JOptionPane.showMessageDialog(null, "注册成功!请登录~~");
}
//注册失败
else
{
JOptionPane.showMessageDialog(null, "用户名存在,注册失败!!!");
}
}
}
catch (Exception e2)
{
e2.printStackTrace();
}
}
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
//测试
//System.out.println("点击退出了!!");
System.exit(1);
}
});
//显示窗口
f.setVisible(true);
}
public static void main(String[] args)
{
FirstPage();
}
}
package Mysql.verification;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Login_register_verification
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "写自己的密码";
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@登录(是否存在用户&密码&类型)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static boolean login_verification(String username,String password,String type) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select username,password,type from user where username = ? and password = ? and type = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
pstmt.setString(3,type);
ResultSet rs = pstmt.executeQuery();
if(rs.next())//存在
{
conn.close();
return true;
}
else//不存在
{
conn.close();
return false;
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@注册(用户名是否被注册过)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static boolean register_verification(String username,String password,String type) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select username from user where username = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
ResultSet rs = pstmt.executeQuery();
if(rs.next())//存在-->失败
{
conn.close();
return false;
}
else//不存在-->注册成功
{
String sql1 = "insert into user(username,password,type) values(?,?,?)";
PreparedStatement pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, username);
pstmt1.setString(2, password);
pstmt1.setString(3,type);
pstmt1.executeUpdate();
conn.close();
return true;
}
}
}

package student.first_web;
import javax.swing.JFrame;
import student.second_web.Student_grade_web;
public class Student_Main
{
public static void login() throws Exception
{
JFrame f = new JFrame("学生-主页");
f.setSize(900,600);
f.setLocationRelativeTo(null);
//加入页面
f.add(Student_grade_web.getweb());
f.setVisible(true);
}
}
package student.second_web;
import java.awt.BorderLayout;
import java.awt.Color;
import java.util.Vector;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import Mysql.student_inquire.Grade_Inquire;
import index.*;
public class Student_grade_web
{
public static JPanel getweb() throws Exception
{
JPanel pan1 = new JPanel();
pan1.setBackground(Color.DARK_GRAY);
//创建JScrollPane(滚动面板)
final JScrollPane scrollPane = new JScrollPane();
pan1.add(scrollPane,BorderLayout.CENTER);
//设置JTable中的列名
Vector<String> columnNames = Grade_Inquire.gettitle();
//设置JTable的表格数据
Vector<Vector<Object>> tableValues = Grade_Inquire.getcontent(Main.u);
//创建JTable (表格)
JTable table = new JTable();
//创建表格模型
DefaultTableModel defaultTableModel = new DefaultTableModel(tableValues, columnNames);
//设置JTable的表格模型
table.setModel(defaultTableModel);
table.setEnabled(false);
//#########################将JTable添加到JScrollPane中######################
scrollPane.setViewportView(table);//将组件放入滚动面板
return pan1;
}
}
package Mysql.student_inquire;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
public class Grade_Inquire
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//学生成绩查询【标题】
public static Vector<String> gettitle() throws Exception
{
//title
Vector<String> title = new Vector<String>();
title.add("姓名");
title.add("课程");
title.add("分数");
return title;
}
//学生成绩查询【内容】
public static Vector< Vector<Object> > getcontent(String sno) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select a.sname,b.cname,c.grade from student_mg a,course_mg b,grade_mg c where a.sno=c.sno and b.cno = c.cno and a.sno=?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sno);
ResultSet rs = pstmt.executeQuery();
Vector< Vector<Object> > content = new Vector<Vector<Object>>();
while(rs.next())
{
String sname = rs.getString(1);
String cname = rs.getString(2);
int grade = rs.getInt(3);
Vector<Object> d = new Vector<Object>();
d.add(sname);
d.add(cname);
d.add(grade);
content.add(d);
}
rs.close();
pstmt.close();
conn.close();
return content;
}
}

package teacher.first_web;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import teacher.second_web.Class_mg_web;
import teacher.second_web.Course_mg_web;
import teacher.second_web.Grade_mg_web;
import teacher.second_web.Student_mg_web;
public class Teacher_Main
{
public static void login() throws Exception
{
//Jframe
JFrame f = new JFrame("老师-主页");
f.setSize(1000,600);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
//JTabbedPane
JTabbedPane tab = new JTabbedPane();
tab.setForeground(Color.blue);
tab.addTab("班级管理", Class_mg_web.getweb());
tab.addTab("课程管理", Course_mg_web.getweb());
tab.addTab("学生管理", Student_mg_web.getweb());
tab.addTab("成绩管理", Grade_mg_web.getweb());
f.add(tab);
f.setVisible(true);
}
}
package teacher.second_web;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import index.*;
import Mysql.baseOperate.*;
import Mysql.teacher_inquire.Class_mg_sql;
public class Class_mg_web
{
//选择行
static int selectedRow ;
//创建JTable (表格)
static JTable table = new JTable();
static DefaultTableModel defaultTableModel ;
public static void update()throws Exception
{
//设置JTable中的列名
Vector<String> columnNames = Class_mg_sql.gettitle();
//设置JTable的表格数据
Vector<Vector<Object>> tableValues = Class_mg_sql.getcontent(Main.u);
//创建表格模型
defaultTableModel = new DefaultTableModel(tableValues, columnNames);
//设置JTable的表格模型
table.setModel(defaultTableModel);
}
public static JPanel getweb() throws Exception
{
JPanel pan1 = new JPanel();
pan1.setBackground(Color.DARK_GRAY);
//单行文本框
JTextField aTextField;
JTextField bTextField;
JTextField cTextField;
//创建JScrollPane(滚动面板)
final JScrollPane scrollPane = new JScrollPane();
pan1.add(scrollPane,BorderLayout.CENTER);
update();
// //设置JTable中的列名
// Vector<String> columnNames = new Class_mg_sql().gettitle();
// //设置JTable的表格数据
// Vector<Vector<Object>> tableValues = new Class_mg_sql().getcontent(Main.u);
// //创建表格模型
// DefaultTableModel defaultTableModel = new DefaultTableModel(tableValues, columnNames);
//
// //设置JTable的表格模型
// table.setModel(defaultTableModel);
//#########################将JTable添加到JScrollPane中######################
scrollPane.setViewportView(table);//将组件放入滚动面板
final JPanel panel = new JPanel();
panel.setBackground(Color.lightGray);
pan1.add(panel,BorderLayout.SOUTH);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 文本框 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//第一个文本框
panel.add(new JLabel("教师编码: "));
aTextField = new JTextField("teacherId",10);
panel.add(aTextField);
//第二个文本框
panel.add(new JLabel("班级号:"));
bTextField = new JTextField("classNum", 10);
panel.add(bTextField);
//第三个文本框
panel.add(new JLabel("班级名称: "));
cTextField = new JTextField("className", 10);
panel.add(cTextField);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 按钮 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JButton insertButton = new JButton("添加");
JButton deleteButton = new JButton("删除");
JButton updateButton = new JButton("修改");
insertButton.setSize(50, 40);
panel.add(insertButton);
panel.add(deleteButton);
panel.add(updateButton);
//设置表格的选择模式---为单选模式
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//@@@@@@@@@@@@@@@@@@@@@@点击JScrollPane滚动面板,取消选中的行@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
scrollPane.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//取消掉选中行,但是选中行的索引值还是在的,没有取消掉
table.clearSelection();
//显示选中行的索引值。
System.out.println("点击空白处:"+selectedRow);
//设置JTextField的默认值
aTextField.setText("teacherId");
bTextField.setText("classNum");
cTextField.setText("className");
}
});
//@@@@@@@@@@@@@@@@@ 将选中的JTable行的的信息传递给--aTestField、bTextField、cTextField@@@@@@@@@@@@@@@@@@@@@@
table.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table.getSelectedRow();
//获取到指定单元格的值
Object oa = defaultTableModel.getValueAt(selectedRow, 0);
Object ob = defaultTableModel.getValueAt(selectedRow, 1);
Object oc = defaultTableModel.getValueAt(selectedRow, 2);
//将获取去到的DefaultTableModel中指定单元格的值,传递给JTextField
aTextField.setText(oa.toString());
bTextField.setText(ob.toString());
cTextField.setText(oc.toString());
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@添加@@@@@@@@@@@@@@@@@@@@@@@@@
insertButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("添加");
//设置要添加到DefaultTableModel中的---行数据内容
// String[] rowValues = {
// aTextField.getText(),
// bTextField.getText(),
// cTextField.getText()
// };
//是自己的教师编码
if(Main.u.equals(aTextField.getText()))
{
System.out.println(Main.u);
try
{
if(Add.isRepeat(bTextField.getText()))
{
JOptionPane.showMessageDialog(null, "已经输入过该班级号!!");
}
else
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ add_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Add.class_mg(aTextField.getText(), bTextField.getText(), cTextField.getText());
update();
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
//不是自己的教师编码
else
{
JOptionPane.showMessageDialog(null, "您的教师编码不对!!");
}
//设置JTextField的默认值
aTextField.setText("teacherId");
bTextField.setText("classNum");
cTextField.setText("className");
}
});
//##########################删除####################################
deleteButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("删除");
//获取到JTable中选定行的---索引值
selectedRow = table.getSelectedRow();
//选中行
if(selectedRow!=-1)
{
try
{
//$$$$$$$$$$$$$$$$$$$$$$ delete_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$
Delete.class_mg(aTextField.getText(), bTextField.getText(), cTextField.getText());
update();
}
catch (Exception e2)
{
e2.printStackTrace();
}
System.out.println("delete_btn:"+selectedRow);
}
else
{
JOptionPane.showMessageDialog(null, "没有选中删除的单元格!!");
}
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@修改@@@@@@@@@@@@@@@@@@@@@@@
updateButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table.getSelectedRow();
System.out.println("修改");
System.out.println("修改行数:"+selectedRow);
//JTable中行的索引值是从0,1,2.3...开始的,
//只有选中行时,才能修改内容
if(selectedRow!=-1)
{
//获取记录唯一ID
int id = (int) table.getValueAt(selectedRow, 3);
System.out.println("选中行的唯一记录ID:"+id);
//修改后 还是自己的教师编码
if(Main.u.equals(aTextField.getText()))
{
try
{
System.out.println("else");
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ update_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Update.class_mg(aTextField.getText(), bTextField.getText(), cTextField.getText(),id);
update();
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
else //不是自己的教师编码
{
JOptionPane.showMessageDialog(null, "您的教师编码不对!!");
}
}
else
{
System.out.println("没有选中修改的单元格!!");
JOptionPane.showMessageDialog(null, "没有选中修改的单元格!!");
}
}
});
return pan1;
}
}
package Mysql.teacher_inquire;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
public class Class_mg_sql
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//班级管理【标题】
public static Vector<String> gettitle() throws Exception
{
//title
Vector<String> title = new Vector<String>();
title.add("教师编码");
title.add("班级号");
title.add("班级名称");
title.add("记录ID");
return title;
}
//班级管理【内容】
public static Vector< Vector<Object> > getcontent(String teacherId) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select teacher_id,class_num,class_name,id from class_mg where teacher_id = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, teacherId);
ResultSet rs = pstmt.executeQuery();
Vector< Vector<Object> > content = new Vector<Vector<Object>>();
while(rs.next())
{
String teacher_id = rs.getString(1);
String class_num = rs.getString(2);
String class_name = rs.getString(3);
int id = rs.getInt(4);
Vector<Object> d = new Vector<Object>();
d.add(teacher_id);
d.add(class_num);
d.add(class_name);
d.add(id);
content.add(d);
}
rs.close();
pstmt.close();
conn.close();
return content;
}
}

package teacher.second_web;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import Mysql.baseOperate.Add;
import Mysql.baseOperate.Delete;
import Mysql.baseOperate.Update;
import Mysql.teacher_inquire.Course_mg_sql;
public class Course_mg_web
{
//选择行
static int selectedRow ;
//创建JTable (表格)
static JTable table2 = new JTable();
static DefaultTableModel defaultTableModel2 ;
public static void update()throws Exception
{
//设置JTable中的列名
Vector<String> columnNames = Course_mg_sql.gettitle();
//设置JTable的表格数据
Vector<Vector<Object>> tableValues = Course_mg_sql.getcontent();
//创建表格模型
defaultTableModel2 = new DefaultTableModel(tableValues, columnNames);
//设置JTable的表格模型
table2.setModel(defaultTableModel2);
}
public static JPanel getweb() throws Exception
{
JPanel pan2 = new JPanel();
pan2.setBackground(Color.DARK_GRAY);
//单行文本框
JTextField aTextField ;
JTextField bTextField ;
JTextField cTextField ;
JTextField dTextField ;
//创建JScrollPane(滚动面板)
final JScrollPane scrollPane = new JScrollPane();
pan2.add(scrollPane,BorderLayout.CENTER);
update();
//#########################将JTable添加到JScrollPane中######################
scrollPane.setViewportView(table2);//将组件放入滚动面板
final JPanel panel = new JPanel();
panel.setBackground(Color.lightGray);
pan2.add(panel,BorderLayout.SOUTH);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 文本框 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//第一个文本框
panel.add(new JLabel("课程号: "));
aTextField = new JTextField("cno",10);
panel.add(aTextField);
//第二个文本框
panel.add(new JLabel("课程名称:"));
bTextField = new JTextField("cname", 10);
panel.add(bTextField);
//第三个文本框
panel.add(new JLabel("课程人数: "));
cTextField = new JTextField("0", 10);
panel.add(cTextField);
//第四个文本框
panel.add(new JLabel("课程学分: "));
dTextField = new JTextField("0", 10);
panel.add(dTextField);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 按钮 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JButton insertButton = new JButton("添加");
JButton deleteButton = new JButton("删除");
JButton updateButton = new JButton("修改");
panel.add(insertButton);
panel.add(deleteButton);
panel.add(updateButton);
//设置表格的选择模式---为单选模式
table2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//@@@@@@@@@@@@@@@@@@@@@@点击JScrollPane滚动面板,取消选中的行@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
scrollPane.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//取消掉选中行,但是选中行的索引值还是在的,没有取消掉
table2.clearSelection();
//显示选中行的索引值。
System.out.println("点击空白处:"+selectedRow);
//设置JTextField的默认值
aTextField.setText("cno");
bTextField.setText("cname");
cTextField.setText("0");
dTextField.setText("0");
}
});
//@@@@@@@@@@@@@@@@@ 将选中的JTable行的的信息传递给--aTestField、bTextField、cTextField@@@@@@@@@@@@@@@@@@@@@@
table2.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table2.getSelectedRow();
//获取到指定单元格的值
Object oa = defaultTableModel2.getValueAt(selectedRow, 0);
Object ob = defaultTableModel2.getValueAt(selectedRow, 1);
Object oc = defaultTableModel2.getValueAt(selectedRow, 2);
Object od = defaultTableModel2.getValueAt(selectedRow, 3);
//将获取去到的DefaultTableModel中指定单元格的值,传递给JTextField
aTextField.setText(oa.toString());
bTextField.setText(ob.toString());
cTextField.setText(oc.toString());
dTextField.setText(od.toString());
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@添加@@@@@@@@@@@@@@@@@@@@@@@@@
insertButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("添加");
//设置要添加到DefaultTableModel中的---行数据内容
// String[] rowValues = {
// aTextField.getText(),
// bTextField.getText(),
// cTextField.getText(),
// dTextField.getText(),
// };
try
{
if(Add.isRepeat2(aTextField.getText()))
{
JOptionPane.showMessageDialog(null, "已经输入过该课程号!!");
}
else
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ add_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Add.course_mg(aTextField.getText(), bTextField.getText(), Integer.parseInt(cTextField.getText()),Integer.parseInt(dTextField.getText()));
update();
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
//设置JTextField的默认值
aTextField.setText("cno");
bTextField.setText("cname");
cTextField.setText("0");
dTextField.setText("0");
}
});
//##########################删除####################################
deleteButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table2.getSelectedRow();
System.out.println("删除");
//选中行
if(selectedRow!=-1)
{
try
{
//$$$$$$$$$$$$$$$$$$$$$$ delete_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$
Delete.course_mg(aTextField.getText());
update();
}
catch (Exception e2)
{
e2.printStackTrace();
}
}
else
{
JOptionPane.showMessageDialog(null, "没有选中删除的单元格!!");
}
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@修改@@@@@@@@@@@@@@@@@@@@@@@
updateButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table2.getSelectedRow();
System.out.println("修改");
System.out.println("修改行数:"+selectedRow);
//JTable中行的索引值是从0,1,2.3...开始的,
//只有选中行时,才能修改内容
if(selectedRow!=-1)
{
try
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ update_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Update.course_mg(aTextField.getText(), bTextField.getText(), Integer.parseInt(cTextField.getText()),Integer.parseInt(dTextField.getText()));
update();
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
else
{
System.out.println("没有选中修改的单元格!!");
JOptionPane.showMessageDialog(null, "没有选中修改的单元格!!");
}
}
});
return pan2;
}
}
package Mysql.teacher_inquire;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
public class Course_mg_sql
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//课程管理【标题】
public static Vector<String> gettitle() throws Exception
{
//title
Vector<String> title = new Vector<String>();
title.add("课程号");
title.add("课程名称");
title.add("课程人数");
title.add("课程学分");
return title;
}
//课程管理【内容】
public static Vector< Vector<Object> > getcontent() throws Exception
{
Class.forName(DBDRIVER);
String sql = "select cno,cname,cpno,ccredit from course_mg";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
Vector< Vector<Object> > content = new Vector<Vector<Object>>();
while(rs.next())
{
String cno = rs.getString(1);
String cname = rs.getString(2);
int cpno = rs.getInt(3);
int ccredit = rs.getInt(4);
Vector<Object> d = new Vector<Object>();
d.add(cno);
d.add(cname);
d.add(cpno);
d.add(ccredit);
content.add(d);
}
rs.close();
pstmt.close();
conn.close();
return content;
}
}

package teacher.second_web;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import Mysql.baseOperate.Add;
import Mysql.baseOperate.Delete;
import Mysql.baseOperate.Update;
import Mysql.teacher_inquire.Student_mg_sql;
public class Student_mg_web
{
//选择行
static int selectedRow ;
//创建JTable (表格)
static JTable table4 = new JTable();
static DefaultTableModel defaultTableModel4 ;
public static void update()throws Exception
{
//设置JTable中的列名
Vector<String> columnNames = Student_mg_sql.gettitle();
//设置JTable的表格数据
Vector<Vector<Object>> tableValues = Student_mg_sql.getcontent();
//创建表格模型
defaultTableModel4 = new DefaultTableModel(tableValues, columnNames);
//设置JTable的表格模型
table4.setModel(defaultTableModel4);
}
public static JPanel getweb() throws Exception
{
JPanel pan3 = new JPanel();
pan3.setBackground(Color.DARK_GRAY);
//单行文本框
JTextField aTextField ;
JTextField bTextField ;
JTextField cTextField ;
JTextField dTextField ;
JTextField eTextField ;
//创建JScrollPane(滚动面板)
final JScrollPane scrollPane = new JScrollPane();
pan3.add(scrollPane,BorderLayout.CENTER);
update();
//#########################将JTable添加到JScrollPane中######################
scrollPane.setViewportView(table4);//将组件放入滚动面板
final JPanel panel = new JPanel();
panel.setBackground(Color.lightGray);
pan3.add(panel,BorderLayout.SOUTH);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 文本框 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//第一个文本框
panel.add(new JLabel("学生学号: "));
aTextField = new JTextField("2020188032",10);
panel.add(aTextField);
//第二个文本框
panel.add(new JLabel("学生姓名:"));
bTextField = new JTextField("李华", 10);
panel.add(bTextField);
//第三个文本框
panel.add(new JLabel("性别: "));
cTextField = new JTextField("男", 10);
panel.add(cTextField);
//第四个文本框
panel.add(new JLabel("年龄:"));
dTextField = new JTextField("18", 10);
panel.add(dTextField);
//第五个文本框
panel.add(new JLabel("院系:"));
eTextField = new JTextField("软件工程", 10);
panel.add(eTextField);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 按钮 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JButton insertButton = new JButton("添加");
JButton deleteButton = new JButton("删除");
JButton updateButton = new JButton("修改");
panel.add(insertButton);
panel.add(deleteButton);
panel.add(updateButton);
//设置表格的选择模式---为单选模式
table4.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//@@@@@@@@@@@@@@@@@@@@@@点击JScrollPane滚动面板,取消选中的行@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
scrollPane.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//取消掉选中行,但是选中行的索引值还是在的,没有取消掉
table4.clearSelection();
//显示选中行的索引值。
System.out.println("点击空白处:"+selectedRow);
//设置JTextField的默认值
aTextField.setText("2020188032");
bTextField.setText("李华");
cTextField.setText("男");
dTextField.setText("18");
eTextField.setText("软件工程");
}
});
//@@@@@@@@@@@@@@@@@ 将选中的JTable行的的信息传递给--aTestField、bTextField、cTextField@@@@@@@@@@@@@@@@@@@@@@
table4.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table4.getSelectedRow();
//获取到指定单元格的值
Object oa = defaultTableModel4.getValueAt(selectedRow, 0);
Object ob = defaultTableModel4.getValueAt(selectedRow, 1);
Object oc = defaultTableModel4.getValueAt(selectedRow, 2);
Object od = defaultTableModel4.getValueAt(selectedRow, 3);
Object oe = defaultTableModel4.getValueAt(selectedRow, 4);
//将获取去到的DefaultTableModel中指定单元格的值,传递给JTextField
aTextField.setText(oa.toString());
bTextField.setText(ob.toString());
cTextField.setText(oc.toString());
dTextField.setText(od.toString());
eTextField.setText(oe.toString());
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@添加@@@@@@@@@@@@@@@@@@@@@@@@@
insertButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("添加");
//设置要添加到DefaultTableModel中的---行数据内容
// String[] rowValues = {
// aTextField.getText(),
// bTextField.getText(),
// cTextField.getText(),
// dTextField.getText(),
// eTextField.getText()
// };
// System.out.println(Main.u);
try
{
if(Add.isRepeat4(aTextField.getText()))
{
JOptionPane.showMessageDialog(null, "已经输入过该学生号!!");
}
else
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ add_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Add.student_mg(aTextField.getText(), bTextField.getText(), cTextField.getText(),Integer.parseInt(dTextField.getText()),eTextField.getText());
update();
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
//设置JTextField的默认值
aTextField.setText("2020188032");
bTextField.setText("李华");
cTextField.setText("男");
dTextField.setText("18");
eTextField.setText("软件工程");
}
});
//##########################删除####################################
deleteButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table4.getSelectedRow();
System.out.println("删除");
//选中行
if(selectedRow!=-1)
{
try
{
//$$$$$$$$$$$$$$$$$$$$$$ delete_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$
Delete.student_mg(aTextField.getText(), bTextField.getText(), cTextField.getText(),Integer.parseInt(dTextField.getText()),eTextField.getText());
update();
}
catch (Exception e2)
{
e2.printStackTrace();
}
}
else
{
JOptionPane.showMessageDialog(null, "没有选中删除的单元格!!");
}
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@修改@@@@@@@@@@@@@@@@@@@@@@@
updateButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table4.getSelectedRow();
System.out.println("修改");
System.out.println("修改行数:"+selectedRow);
if(selectedRow!=-1)
{
try
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ update_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Update.student_mg(aTextField.getText(), bTextField.getText(), cTextField.getText(),Integer.parseInt(dTextField.getText()),eTextField.getText());
update();
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
else
{
System.out.println("没有选中修改的单元格!!");
JOptionPane.showMessageDialog(null, "没有选中修改的单元格!!");
}
}
});
return pan3;
}
}
package Mysql.teacher_inquire;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
public class Student_mg_sql
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//学生管理【标题】
public static Vector<String> gettitle() throws Exception
{
//title
Vector<String> title = new Vector<String>();
title.add("学生学号");
title.add("学生姓名");
title.add("性别");
title.add("年龄");
title.add("院系");
return title;
}
//学生管理【内容】
public static Vector< Vector<Object> > getcontent() throws Exception
{
Class.forName(DBDRIVER);
String sql = "select sno,sname,ssex,sage,sdept from student_mg";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
Vector< Vector<Object> > content = new Vector<Vector<Object>>();
while(rs.next())
{
String sno = rs.getString(1);
String sname = rs.getString(2);
String ssex = rs.getString(3);
int sage = rs.getInt(4);
String sdept = rs.getString(5);
Vector<Object> d = new Vector<Object>();
d.add(sno);
d.add(sname);
d.add(ssex);
d.add(sage);
d.add(sdept);
content.add(d);
}
rs.close();
pstmt.close();
conn.close();
return content;
}
}

package teacher.second_web;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import Mysql.baseOperate.Add;
import Mysql.baseOperate.Delete;
import Mysql.baseOperate.Update;
import Mysql.teacher_inquire.Grade_mg_sql;
public class Grade_mg_web
{
//选择行
static int selectedRow ;
//创建JTable (表格)
static JTable table3 = new JTable();
static DefaultTableModel defaultTableModel3 ;
public static void update()throws Exception
{
//设置JTable中的列名
Vector<String> columnNames = Grade_mg_sql.gettitle();
//设置JTable的表格数据
Vector<Vector<Object>> tableValues = Grade_mg_sql.getcontent();
//创建表格模型
defaultTableModel3 = new DefaultTableModel(tableValues, columnNames);
//设置JTable的表格模型
table3.setModel(defaultTableModel3);
}
public static JPanel getweb() throws Exception
{
JPanel pan4 = new JPanel();
pan4.setBackground(Color.DARK_GRAY);
//单行文本框
JTextField aTextField;
JTextField bTextField;
JTextField cTextField;
//创建JScrollPane(滚动面板)
final JScrollPane scrollPane = new JScrollPane();
pan4.add(scrollPane,BorderLayout.CENTER);
update();
//#########################将JTable添加到JScrollPane中######################
scrollPane.setViewportView(table3);//将组件放入滚动面板
final JPanel panel = new JPanel();
panel.setBackground(Color.lightGray);
pan4.add(panel,BorderLayout.SOUTH);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 文本框 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//第一个文本框
panel.add(new JLabel("学生学号: "));
aTextField = new JTextField("sno",10);
panel.add(aTextField);
//第二个文本框
panel.add(new JLabel("课程号:"));
bTextField = new JTextField("cno", 10);
panel.add(bTextField);
//第三个文本框
panel.add(new JLabel("分数: "));
cTextField = new JTextField("grade", 10);
panel.add(cTextField);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 按钮 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
JButton insertButton = new JButton("添加");
JButton deleteButton = new JButton("删除");
JButton updateButton = new JButton("修改");
panel.add(insertButton);
panel.add(deleteButton);
panel.add(updateButton);
//设置表格的选择模式---为单选模式
table3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//@@@@@@@@@@@@@@@@@@@@@@点击JScrollPane滚动面板,取消选中的行@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
scrollPane.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//取消掉选中行,但是选中行的索引值还是在的,没有取消掉
table3.clearSelection();
//显示选中行的索引值。
System.out.println("点击空白处:"+selectedRow);
//设置JTextField的默认值
aTextField.setText("sno");
bTextField.setText("cno");
cTextField.setText("grade");
}
});
//@@@@@@@@@@@@@@@@@ 将选中的JTable行的的信息传递给--aTestField、bTextField、cTextField@@@@@@@@@@@@@@@@@@@@@@
table3.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table3.getSelectedRow();
//获取到指定单元格的值
Object oa = defaultTableModel3.getValueAt(selectedRow, 0);
Object ob = defaultTableModel3.getValueAt(selectedRow, 1);
Object oc = defaultTableModel3.getValueAt(selectedRow, 2);
//将获取去到的DefaultTableModel中指定单元格的值,传递给JTextField
aTextField.setText(oa.toString());
bTextField.setText(ob.toString());
cTextField.setText(oc.toString());
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@添加@@@@@@@@@@@@@@@@@@@@@@@@@
insertButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("添加");
//设置要添加到DefaultTableModel中的---行数据内容
// String[] rowValues = {
// aTextField.getText(),
// bTextField.getText(),
// cTextField.getText()
// };
// System.out.println(Main.u);
try
{
if(Add.isRepeat3(aTextField.getText(),bTextField.getText()))
{
JOptionPane.showMessageDialog(null, "已经输入过[学号:"+aTextField.getText()+"],[课程号:"+bTextField.getText()+"]的成绩!!");
}
else
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ add_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Add.grade_mg(aTextField.getText(), bTextField.getText(), Integer.parseInt( cTextField.getText()));
update();
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
//设置JTextField的默认值
aTextField.setText("sno");
bTextField.setText("cno");
cTextField.setText("grade");
}
});
//##########################删除####################################
deleteButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table3.getSelectedRow();
System.out.println("删除");
//选中行
if(selectedRow!=-1)
{
try
{
//$$$$$$$$$$$$$$$$$$$$$$ delete_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$
Delete.grade_mg(aTextField.getText(), bTextField.getText(),Integer.parseInt( cTextField.getText()));
update();
}
catch (Exception e2)
{
e2.printStackTrace();
}
}
else
{
JOptionPane.showMessageDialog(null, "没有选中删除的单元格!!");
}
}
});
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@修改@@@@@@@@@@@@@@@@@@@@@@@
updateButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//获取到JTable中选定行的---索引值
selectedRow = table3.getSelectedRow();
System.out.println("修改");
System.out.println("修改行数:"+selectedRow);
//JTable中行的索引值是从0,1,2.3...开始的,
//只有选中行时,才能修改内容
if(selectedRow!=-1)
{
//获取记录唯一ID
int id = (int) table3.getValueAt(selectedRow, 3);
System.out.println("记录唯一ID:"+id);
try
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ update_mysql $$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Update.grade_mg(aTextField.getText(), bTextField.getText(), Integer.parseInt(cTextField.getText()),id);
update();
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
else
{
System.out.println("没有选中修改的单元格!!");
JOptionPane.showMessageDialog(null, "没有选中修改的单元格!!");
}
}
});
return pan4;
}
}
package Mysql.teacher_inquire;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
public class Grade_mg_sql
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//成绩管理【标题】
public static Vector<String> gettitle() throws Exception
{
//title
Vector<String> title = new Vector<String>();
title.add("学生学号");
title.add("课程号");
title.add("课程分数");
title.add("记录ID");
return title;
}
//成绩管理【内容】
public static Vector< Vector<Object> > getcontent() throws Exception
{
Class.forName(DBDRIVER);
String sql = "select sno,cno,grade,id from grade_mg";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
Vector< Vector<Object> > content = new Vector<Vector<Object>>();
while(rs.next())
{
String sno = rs.getString(1);
String cno = rs.getString(2);
int grade = rs.getInt(3);
int id = rs.getInt(4);
Vector<Object> d = new Vector<Object>();
d.add(sno);
d.add(cno);
d.add(grade);
d.add(id);
content.add(d);
}
rs.close();
pstmt.close();
conn.close();
return content;
}
}
package Mysql.baseOperate;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Add
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ class_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void class_mg(String teacher_id ,String class_num,String class_name) throws Exception
{
Class.forName(DBDRIVER);
String sql = "insert into class_mg(teacher_id,class_num,class_name) values(?,?,?)";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, teacher_id);
pstmt.setString(2, class_num);
pstmt.setString(3, class_name);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//是否teavher_id , class_num 重复
public static boolean isRepeat(String class_num) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select class_num from class_mg where class_num = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, class_num);
ResultSet rs = pstmt.executeQuery();
if(rs.next())//主键teacher_id和class_num 重复
{
rs.close();
pstmt.close();
conn.close();
return true;
}
else //没重复
{
rs.close();
pstmt.close();
conn.close();
return false;
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ course_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void course_mg(String cno,String cname,int cpno,int ccredit)throws Exception
{
Class.forName(DBDRIVER);
String sql = "insert into course_mg(cno,cname,cpno,ccredit) values(?,?,?,?)";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, cno);
pstmt.setString(2, cname);
pstmt.setInt(3, cpno);
pstmt.setInt(4,ccredit);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//是否重复cno
public static boolean isRepeat2(String cno) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select cno from course_mg where cno = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, cno);
ResultSet rs = pstmt.executeQuery();
if(rs.next())//主键teacher_id和class_num 重复
{
rs.close();
pstmt.close();
conn.close();
return true;
}
else //没重复
{
rs.close();
pstmt.close();
conn.close();
return false;
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ grade_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void grade_mg(String sno,String cno,int grade)throws Exception
{
Class.forName(DBDRIVER);
String sql = "insert into grade_mg(sno,cno,grade) values(?,?,?)";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
pstmt.setString(2, cno);
pstmt.setInt(3, grade);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//是否重复sno,cno
public static boolean isRepeat3(String sno,String cno) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select sno,cno from grade_mg where sno = ? and cno = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
pstmt.setString(2, cno);
ResultSet rs = pstmt.executeQuery();
if(rs.next())//sno和cno 重复
{
rs.close();
pstmt.close();
conn.close();
return true;
}
else //没重复
{
rs.close();
pstmt.close();
conn.close();
return false;
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ student_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void student_mg(String sno ,String sname,String ssex,int sage,String sdept) throws Exception
{
Class.forName(DBDRIVER);
String sql = "insert into student_mg(sno,sname,ssex,sage,sdept) values(?,?,?,?,?)";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
pstmt.setString(2, sname);
pstmt.setString(3, ssex);
pstmt.setInt(4, sage);
pstmt.setString(5, sdept);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//是否sno重复
public static boolean isRepeat4(String sno) throws Exception
{
Class.forName(DBDRIVER);
String sql = "select sno from student_mg where sno = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
ResultSet rs = pstmt.executeQuery();
if(rs.next())//主键sno重复
{
rs.close();
pstmt.close();
conn.close();
return true;
}
else //没重复
{
rs.close();
pstmt.close();
conn.close();
return false;
}
}
}
package Mysql.baseOperate;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Delete
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ class_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void class_mg(String teacher_id ,String class_num,String class_name) throws Exception
{
Class.forName(DBDRIVER);
String sql = "delete from class_mg where teacher_id = ? and class_num = ? and class_name = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, teacher_id);
pstmt.setString(2, class_num);
pstmt.setString(3, class_name);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ course_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void course_mg(String cno) throws Exception
{
Class.forName(DBDRIVER);
String sql = "delete from course_mg where cno=?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, cno);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ grade_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void grade_mg(String sno,String cno ,int grade) throws Exception
{
Class.forName(DBDRIVER);
String sql = "delete from grade_mg where sno = ? and cno = ? and grade = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
pstmt.setString(2, cno);
pstmt.setInt(3, grade);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ student_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void student_mg(String sno,String sname ,String ssex,int sage,String sdept) throws Exception
{
Class.forName(DBDRIVER);
String sql = "delete from student_mg where sno = ? and sname = ? and ssex = ? and sage = ? and sdept = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
pstmt.setString(2, sname);
pstmt.setString(3, ssex);
pstmt.setInt(4, sage);
pstmt.setString(5, sdept);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
}
package Mysql.baseOperate;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Update
{
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/student";
public static final String DBUSER = "root";
public static final String DBPASS = "dyh20011022";
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ class_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void class_mg(String teacher_id ,String class_num,String class_name,int id) throws Exception
{
Class.forName(DBDRIVER);
String sql = "update class_mg set teacher_id = ?,class_num = ?,class_name = ? where id = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, teacher_id);
pstmt.setString(2, class_num);
pstmt.setString(3, class_name);
pstmt.setInt(4, id);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ course_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void course_mg(String cno ,String cname,int cpno,int ccredit) throws Exception
{
Class.forName(DBDRIVER);
String sql = "update course_mg set cno = ?,cname = ?,cpno = ?,ccredit = ? where cno = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, cno);
pstmt.setString(2, cname);
pstmt.setInt(3, cpno);
pstmt.setInt(4, ccredit);
pstmt.setString(5,cno);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ grade_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void grade_mg(String sno ,String cno,int grade,int id) throws Exception
{
Class.forName(DBDRIVER);
String sql = "update grade_mg set sno= ?,cno = ?,grade = ? where id = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
pstmt.setString(2, cno);
pstmt.setInt(3, grade);
pstmt.setInt(4, id);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@ student_mg @@@@@@@@@@@@@@@@@@@@@@@@@@@@
public static void student_mg(String sno,String sname ,String ssex,int sage,String sdept) throws Exception
{
Class.forName(DBDRIVER);
String sql = "update student_mg set sno= ?,sname = ?,ssex = ? ,sage = ?,sdept = ? where sno = ?";
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sno);
pstmt.setString(2, sname);
pstmt.setString(3, ssex);
pstmt.setInt(4, sage);
pstmt.setString(5, sdept);
pstmt.setString(6, sno);
pstmt.executeUpdate();
pstmt.close();
conn.close();
}
}





