当前位置:   article > 正文

学生信息管理系统(JAVA+MYSQL)

java+mysql

基于Java swing+MySQL实现学生信息管理系统:功能:1录入学生基本信息的功能; 2查询学生基本信息的功能; 3修改学生基本信息的功能 ;4删除学生基本信息的功能 ;5显示所有学生信息的功能;应付一般课设足矣,分享给大家。

通过百度网盘分享的文件:学生信息管理系统
链接:https://pan.baidu.com/s/1NgK0C4NAa4gyCaLdeW4GZA?pwd=bigo 
提取码:bigo
复制这段内容打开「百度网盘APP 即可获取」

里面包括了所有代码源文件+mysql8.0.25驱动jar包+登录页面时的背景图345.jpg

1.开发环境:jdk11+win10+mysql 8+IDEA

记得将数据库与IDEA或者eclipse连接起来,并记得添加数据库驱动jar包

这两个分别是添加jar包和idea连接mysql大家可以做一下参考

IDEA导入mysql数据库驱动_跟着太阳.的博客-CSDN博客https://blog.csdn.net/qq_54705917/article/details/123484397?spm=1001.2014.3001.5502IDEA连接mysql数据库_跟着太阳.的博客-CSDN博客https://blog.csdn.net/qq_54705917/article/details/123484737?spm=1001.2014.3001.5502 

2.数据库设计

 代码:

库:create database student
表:create table stu(
stuId varchar(20),
stuName varchar(20),
stuSex varchar(20),
stuAge varchar(20),
stuJG varchar(20),
stuLX varchar(20),
stuBJ varchar(20)
);

3. 窗口及功能设计

(1).主函数

main.java

  1. import javax.swing.*;
  2. public class main {
  3. public static void main(String[] args) {
  4. JFrame jf = new StuLogin();
  5. }
  6. }

(2).登录界面(默认的账号密码都为:admin)

StuLogin.java

  1. import java.awt.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import javax.swing.*;
  5. public class StuLogin extends JFrame {
  6. private StuLogin self;
  7. private ImageIcon imageIcon;
  8. private Image image;
  9. private String userid;// 登陆用户名和密码
  10. private String password;
  11. private JLabel unLabel = new JLabel("账号:");// 登陆面板控件
  12. private JTextField unField = new JTextField();
  13. private JLabel pwLabel = new JLabel("密码:");
  14. private JPasswordField pwField = new JPasswordField();
  15. private JButton dl = new JButton("登录");
  16. private JButton d2 = new JButton("重置");
  17. public StuLogin() {
  18. this.self = this;
  19. this.setSize(350, 300);// 设置登陆面板
  20. 设置窗口背景图
  21. //先将contentPane设置成透明的
  22. ((JPanel)getContentPane()).setOpaque(false);
  23. //再设置图片
  24. imageIcon = new ImageIcon("345.jpg");//图标组件
  25. image = imageIcon.getImage();
  26. JLabel imgLabel = new JLabel(imageIcon);
  27. getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
  28. imgLabel.setBounds(0,0,400,300); //背景图片的位置
  29. this.setIconImage(image);//设置窗口图像
  30. this.setLocation(600,300);
  31. this.setVisible(true);
  32. this.setResizable(false);
  33. this.setLayout(null);
  34. // this.getContentPane().setBackground(Color.BLACK);设置窗口背景色;
  35. //设置窗口名称
  36. this.setTitle("学生信息管理系统");
  37. unLabel.setSize(50, 30);
  38. unLabel.setLocation(60, 40);
  39. unLabel.setForeground(Color.red);
  40. unLabel.setFont(new Font("楷体",Font.BOLD,15));
  41. unField.setSize(150, 35);
  42. unField.setLocation(110, 35);
  43. pwLabel.setSize(50, 30);
  44. pwLabel.setLocation(60, 100);
  45. pwLabel.setForeground(Color.red);
  46. pwLabel.setFont(new Font("楷体",Font.BOLD,15));
  47. pwField.setSize(150, 35);
  48. pwField.setLocation(110, 100);
  49. dl.setSize(80, 35);
  50. dl.setLocation(65, 175);
  51. dl.setBackground(Color.red);
  52. d2.setSize(80, 35);
  53. d2.setLocation(185, 175);
  54. d2.setBackground(Color.red);
  55. dl.addActionListener(new ActionListener() {
  56. @Override
  57. public void actionPerformed(ActionEvent e) {
  58. userid = unField.getText();
  59. password = pwField.getText();
  60. if(userid.equals("admin")&&password.equals("admin")) {
  61. self.setVisible(false);
  62. // JOptionPane.showMessageDialog(null, "登录成功", "登录情况",JOptionPane.PLAIN_MESSAGE);
  63. new StuManager();
  64. } else {
  65. JOptionPane.showMessageDialog(null, "账号或密码错误!", "登录情况",JOptionPane.PLAIN_MESSAGE);
  66. }
  67. }
  68. });
  69. d2.addActionListener(new ActionListener() {
  70. @Override
  71. public void actionPerformed(ActionEvent e) {
  72. unField.setText("");
  73. pwField.setText("");
  74. }
  75. });
  76. this.add(unLabel);
  77. this.add(unField);
  78. this.add(pwLabel);
  79. this.add(pwField);
  80. this.add(dl);
  81. this.add(d2);
  82. }
  83. }

登录页面的背景图我会放到 上面分享的链接里

 (3).管理员界面(删除功能在这里面)

StuManager.java

  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.Statement;
  9. public class StuManager extends JFrame implements ActionListener {
  10. //定义一些控件
  11. private Object[] types = {"-请选择查询方式-", "按学号号查询", "姓名查询", "性别查询","按年龄查询", "按籍贯查询","按班级查询"};
  12. private JComboBox searchType = new JComboBox(types); //创建一个组合框用来选取查询不同的学生信息·
  13. JPanel jp1,jp2;
  14. JLabel jl1;
  15. JButton jb1,jb2,jb3,jb4;
  16. JTable jt;
  17. JScrollPane jsp;
  18. JTextField jtf1,jtf2;
  19. String strRS;
  20. StuModel sm;
  21. //定义连接数据库的变量
  22. PreparedStatement ps;
  23. Connection ct = null;
  24. ResultSet rs = null;
  25. //构造函数
  26. public StuManager(){
  27. jp1 = new JPanel();
  28. jp1.setBackground(Color.gray);
  29. jtf1 = new JTextField(15);
  30. jtf2 = new JTextField();
  31. jtf2.setEditable(false);
  32. jb1 = new JButton("查询");
  33. jb1.addActionListener(this);
  34. jl1 = new JLabel("总人数:");
  35. jp1.add(searchType);
  36. jp1.add(jtf1);
  37. jp1.add(jb1);
  38. jp1.add(jl1);
  39. jp1.add(jtf2);
  40. jb2 = new JButton("添加");
  41. jb2.setSize(100,500);
  42. jb2.addActionListener(this);
  43. jb3 = new JButton("修改");
  44. jb3.addActionListener(this);
  45. jb4 = new JButton("删除");
  46. jb4.addActionListener(this);
  47. jp2 = new JPanel();
  48. jp2.add(jb2);
  49. jp2.add(jb3);
  50. jp2.add(jb4);
  51. jp2.setBackground(Color.gray);
  52. //创建模型对象
  53. sm = new StuModel();
  54. //初始化总人数
  55. strRS=String.valueOf(sm.getRowCount());
  56. jtf2.setText(strRS);
  57. //初始化表和滚动面板
  58. jt = new JTable(sm);
  59. jsp = new JScrollPane(jt);
  60. //将jsp放入到jframe中
  61. this.add(jsp);
  62. this.add(jp1,BorderLayout.PAGE_START);
  63. this.add(jp2,BorderLayout.PAGE_END);
  64. this.setTitle("学生信息管理系统");
  65. // this.pack();
  66. this.setSize(600, 400);
  67. this.setLocation(500, 200);
  68. this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  69. this.setVisible(true);
  70. }
  71. public void actionPerformed(ActionEvent arg0) {
  72. //判断是哪个按钮被点击
  73. if(arg0.getSource() == jb1){
  74. System.out.println("用户希望被查询...");
  75. int index = searchType.getSelectedIndex();
  76. String sql = new String();
  77. if(index == 0){
  78. sql = "select * from stu ";
  79. }
  80. else if(index == 1){
  81. //因为把对表的数据封装到StuModel中,可以比较简单的完成查询
  82. String Id =this.jtf1.getText().trim();
  83. //写一个sql语句
  84. sql = "select * from stu where stuId = '"+Id+"' ";
  85. }
  86. else if(index == 2){
  87. String name =this.jtf1.getText().trim();
  88. sql = "select * from stu where stuName = '"+name+"' ";
  89. }
  90. else if(index == 3){
  91. String sex =this.jtf1.getText().trim();
  92. sql = "select * from stu where stuSex = '"+sex+"' ";
  93. }
  94. else if(index == 4){
  95. String age =this.jtf1.getText().trim();
  96. sql = "select * from stu where stuAge = '"+age+"' ";
  97. }
  98. else if(index ==5){
  99. String jg =this.jtf1.getText().trim();
  100. sql = "select * from stu where stuJG= '"+jg+"' ";
  101. }
  102. else if(index ==6){
  103. String bj =this.jtf1.getText().trim();
  104. sql = "select * from stu where stuBJ= '"+bj+"' ";
  105. }
  106. //构建一个数据模型类,并更新
  107. sm = new StuModel(sql);
  108. strRS=String.valueOf(sm.getRowCount());
  109. jtf2.setText(strRS);
  110. //更新jtable
  111. jt.setModel(sm);
  112. }
  113. //一、弹出添加界面
  114. else if(arg0.getSource() == jb2){
  115. System.out.println("添加...");
  116. StuAddDiag sa = new StuAddDiag(this,"添加学生",true);
  117. //重新再获得新的数据模型,
  118. sm = new StuModel();
  119. strRS=String.valueOf(sm.getRowCount());
  120. jtf2.setText(strRS);
  121. jt.setModel(sm);
  122. }else if(arg0.getSource() == jb4){
  123. //二、删除记录
  124. //1.得到学生的ID
  125. int rowNum = this.jt.getSelectedRow();//getSelectedRow会返回给用户点中的行
  126. //如果该用户一行都没有选,就返回-1
  127. if(rowNum == -1){
  128. //提示
  129. JOptionPane.showMessageDialog(this, "请选中一行");
  130. return ;
  131. }
  132. //得到学术ID
  133. String stuId = (String)sm.getValueAt(rowNum, 0);
  134. //连接数据库,完成删除任务
  135. try{
  136. //1.加载驱动
  137. Class.forName("com.mysql.cj.jdbc.Driver");
  138. //2.连接数据库
  139. String url = "jdbc:mysql://localhost:3306/student";
  140. String user = "root";
  141. String passwd = "666666";
  142. ct = DriverManager.getConnection(url, user, passwd);
  143. // System.out.println("连接成功");
  144. ps = ct.prepareStatement("delete from stu where stuId = ?");
  145. ps.setString(1,stuId);
  146. ps.executeUpdate();
  147. JOptionPane.showMessageDialog(null, "删除成功", "删除情况",JOptionPane.PLAIN_MESSAGE);
  148. }catch(Exception e){
  149. e.printStackTrace();
  150. }finally{
  151. try{
  152. if(rs!= null){
  153. rs.close();
  154. rs = null;
  155. }
  156. if(ps!= null){
  157. ps.close();
  158. ps = null;
  159. }
  160. if(ct != null){
  161. ct.close();
  162. ct = null;
  163. }
  164. } catch(Exception e){
  165. e.printStackTrace();
  166. }
  167. }
  168. sm = new StuModel();
  169. strRS=String.valueOf(sm.getRowCount());
  170. jtf2.setText(strRS);
  171. //更新jtable
  172. jt.setModel(sm);
  173. }else if(arg0.getSource() == jb3){
  174. // System.out.println("11111");
  175. //三、用户希望修改
  176. int rowNum = this.jt.getSelectedRow();
  177. if(rowNum == -1){
  178. //提示
  179. JOptionPane.showMessageDialog(this, "请选择一行");
  180. return ;
  181. }
  182. //显示对话框
  183. // System.out.println( "12435");
  184. StuUpDiag su = new StuUpDiag(this, "修改学生信息", true, sm, rowNum);
  185. sm = new StuModel();
  186. jt.setModel(sm);
  187. }
  188. }
  189. }

  (4).模型界面

StuModel.java

  1. /*
  2. 用来刷新、呈现数据库
  3. * 这是我的一个stu表的模型
  4. * 可以把对学生表的操作全都封装到这个类
  5. */
  6. import java.sql.Connection;
  7. import java.sql.DriverManager;
  8. import java.sql.ResultSet;
  9. import java.sql.Statement;
  10. import java.util.Vector;
  11. import javax.swing.table.*;
  12. public class StuModel extends AbstractTableModel{
  13. //rowData存放行数据,columnNames存放列名
  14. Vector rowData,columnNames;//Vector和ArrayList一样,底层也是一个Object类型的数组Object[]。; 构造一个空向量,使其内部数据数组的大小为10,其标准容量增量为零
  15. //定义连接数据库的变量
  16. Statement stat = null;
  17. Connection ct = null;
  18. ResultSet rs = null;
  19. //初始化
  20. public void init(String sql){
  21. if(sql.equals("")){
  22. sql = "select * from stu";
  23. }
  24. //中间
  25. //设置列名
  26. columnNames = new Vector();//这里是一维向量表示列;
  27. columnNames.add("学号");
  28. columnNames.add("名字");
  29. columnNames.add("性别");
  30. columnNames.add("年龄");
  31. columnNames.add("籍贯");
  32. columnNames.add("联系方式");
  33. columnNames.add("班级");
  34. //rowData存放多行
  35. rowData = new Vector();
  36. try{
  37. //1.加载驱动
  38. Class.forName("com.mysql.cj.jdbc.Driver");
  39. System.out.println("加载成功");
  40. //2.连接数据库
  41. //定义几个常量
  42. String url = "jdbc:mysql://localhost:3306/student";
  43. String user = "root";
  44. String passwd = "666666";//这里你要填写你自己的数据库密码
  45. ct = DriverManager.getConnection(url,user,passwd);
  46. stat = ct.createStatement();//创建stat对象
  47. rs = stat.executeQuery(sql);//查询结果
  48. while(rs.next()){
  49. Vector hang = new Vector();
  50. hang.add(rs.getString(1));
  51. hang.add(rs.getString(2));
  52. hang.add(rs.getString(3));
  53. hang.add(rs.getString(4));
  54. hang.add(rs.getString(5));
  55. hang.add(rs.getString(6));
  56. hang.add(rs.getString(7));
  57. //加入到rowData中
  58. rowData.add(hang);//这里是二维向量,表示行;
  59. }
  60. }catch(Exception e){
  61. e.printStackTrace();
  62. }finally{
  63. try{
  64. if(rs!=null){
  65. rs.close();
  66. rs = null;
  67. }
  68. if(stat != null){
  69. stat.close();
  70. stat = null;
  71. }
  72. if(ct != null){
  73. ct.close();
  74. ct = null;
  75. }
  76. }catch(Exception e){
  77. e.printStackTrace();
  78. }
  79. }
  80. }
  81. //第二个构造函数,通过传递的sql语句来获得数据模型
  82. public StuModel(String sql){
  83. this.init(sql);
  84. }
  85. //构造函数,用于初始化我的数据模型(表)
  86. public StuModel(){
  87. this.init("");
  88. }
  89. //得到共有多少行
  90. public int getRowCount() {
  91. // TODO Auto-generated method stub
  92. return this.rowData.size();
  93. }
  94. //得到共有多少列
  95. public int getColumnCount() {
  96. // TODO Auto-generated method stub
  97. return this.columnNames.size();
  98. }
  99. //得到某行某列的数据
  100. public Object getValueAt(int row, int column) {
  101. // TODO Auto-generated method stub
  102. return ((Vector)(this.rowData.get(row))).get(column);
  103. }
  104. //得到属性名字
  105. public String getColumnName(int column) {
  106. // TODO Auto-generated method stub
  107. return (String)this.columnNames.get(column);
  108. }
  109. }

  (5).增加学生界面

StuAddDiag.java

  1. import javax.swing.JDialog;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.sql.Statement;
  7. import java.sql.Connection;
  8. import java.sql.DriverManager;
  9. import java.sql.ResultSet;
  10. import java.sql.*;
  11. //用来实现增添读者功能
  12. public class StuAddDiag extends JDialog implements ActionListener {
  13. //定义我需要的swing组件
  14. JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7;
  15. JTextField jf1,jf2,jf3,jf4,jf5,jf6,jf7;
  16. JPanel jp1,jp2,jp3;
  17. JButton jb1,jb2;
  18. //owner代笔父窗口,title是窗口的名字,modal指定是模式窗口()或者非模式窗口
  19. public StuAddDiag(Frame owner, String title, boolean modal){
  20. //调用父类方法
  21. super(owner,title,modal);
  22. jl1 = new JLabel("学号");
  23. jl2 = new JLabel("名字");
  24. jl3 = new JLabel("性别");
  25. jl4 = new JLabel("年龄");
  26. jl5 = new JLabel("籍贯");
  27. jl6 = new JLabel("联系方式");
  28. jl7 = new JLabel("班级");
  29. jf1 = new JTextField(30);
  30. jf2 = new JTextField(30);
  31. jf3 = new JTextField(30);
  32. jf4 = new JTextField(30);
  33. jf5 = new JTextField(30);
  34. jf6 = new JTextField(30);
  35. jf7 = new JTextField(30);
  36. jb1 = new JButton("添加");
  37. jb1.addActionListener(this::actionPerformed);
  38. jb2 = new JButton("取消");
  39. jb2.addActionListener(this::actionPerformed);
  40. jp1 = new JPanel();
  41. jp2 = new JPanel();
  42. jp3 = new JPanel();
  43. //设置布局
  44. jp1.setLayout(new GridLayout(7,1));
  45. jp2.setLayout(new GridLayout(7,1));
  46. jp3.add(jb1);
  47. jp3.add(jb2);
  48. jp1.add(jl1);
  49. jp1.add(jl2);
  50. jp1.add(jl3);
  51. jp1.add(jl4);
  52. jp1.add(jl5);
  53. jp1.add(jl6);
  54. jp1.add(jl7);
  55. jp2.add(jf1);
  56. jp2.add(jf2);
  57. jp2.add(jf3);
  58. jp2.add(jf4);
  59. jp2.add(jf5);
  60. jp2.add(jf6);
  61. jp2.add(jf7);
  62. this.add(jp1, BorderLayout.WEST);
  63. this.add(jp2, BorderLayout.CENTER);
  64. this.add(jp3, BorderLayout.SOUTH);
  65. this.setLocation(600, 350);
  66. this.setSize(300,200);
  67. this.setVisible(true);
  68. }
  69. @Override
  70. public void actionPerformed(ActionEvent e) {
  71. // TODO Auto-generated method stub
  72. if(e.getSource() == jb1){
  73. Connection ct = null;
  74. PreparedStatement pstmt = null;
  75. ResultSet rs = null;
  76. try{
  77. //1.加载驱动
  78. Class.forName("com.mysql.cj.jdbc.Driver");
  79. System.out.println("加载成功");
  80. //2.连接数据库
  81. //定义几个常量
  82. String url = "jdbc:mysql://localhost:3306/student";
  83. String user = "root";
  84. String passwd = "666666";
  85. ct = DriverManager.getConnection(url,user,passwd);
  86. //与编译语句对象
  87. String strsql = "insert into stu values(?,?,?,?,?,?,?)";
  88. pstmt = ct.prepareStatement(strsql);
  89. //给对象赋值
  90. pstmt.setString(1,jf1.getText());
  91. pstmt.setString(2,jf2.getText());
  92. pstmt.setString(3,jf3.getText());
  93. pstmt.setString(4,jf4.getText());
  94. pstmt.setString(5,jf5.getText());
  95. pstmt.setString(6,jf6.getText());
  96. pstmt.setString(7,jf7.getText());
  97. pstmt.executeUpdate();
  98. JOptionPane.showMessageDialog(null, "添加成功", "添加情况",-1);
  99. this.dispose();//关闭学生对话框
  100. }catch(Exception arg1){
  101. arg1.printStackTrace();
  102. }finally{
  103. try{
  104. if(rs!=null){
  105. rs.close();
  106. rs = null;
  107. }
  108. if(pstmt != null){
  109. pstmt.close();
  110. pstmt = null;
  111. }
  112. if(ct != null){
  113. ct.close();
  114. ct = null;
  115. }
  116. }catch(Exception arg2){
  117. arg2.printStackTrace();
  118. }
  119. }
  120. }else{
  121. this.dispose();
  122. }
  123. }
  124. }

  (6).修改学生界面

StuUpDiag.java

  1. import javax.swing.JDialog;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.sql.Statement;
  7. import java.sql.Connection;
  8. import java.sql.DriverManager;
  9. import java.sql.ResultSet;
  10. import java.sql.*;
  11. /*
  12. // * 是修改学生信息
  13. */
  14. public class StuUpDiag extends JDialog implements ActionListener {
  15. //定义我需要的swing组件
  16. JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7;
  17. JTextField jf1,jf2,jf3,jf4,jf5,jf6,jf7;
  18. JPanel jp1,jp2,jp3;
  19. JButton jb1,jb2;
  20. //owner代笔父窗口,title是窗口的名字,modal指定是模式窗口()或者非模式窗口
  21. public StuUpDiag(Frame owner, String title, boolean modal, StuModel sm, int rowNum){
  22. //调用父类方法
  23. super(owner,title,modal);
  24. jl1 = new JLabel("学号");
  25. jl2 = new JLabel("名字");
  26. jl3 = new JLabel("性别");
  27. jl4 = new JLabel("年龄");
  28. jl5 = new JLabel("籍贯");
  29. jl6 = new JLabel("联系方式");
  30. jl7 = new JLabel("班级");
  31. jf1 = new JTextField(30);
  32. jf1.setText((sm.getValueAt(rowNum, 0)).toString());
  33. jf2 = new JTextField(30);
  34. jf2.setText((String)sm.getValueAt(rowNum, 1));
  35. jf3 = new JTextField(30);
  36. jf3.setText(sm.getValueAt(rowNum, 2).toString());
  37. jf4 = new JTextField(30);
  38. jf4.setText((sm.getValueAt(rowNum, 3)).toString());
  39. jf5 = new JTextField(30);
  40. jf5.setText((String)sm.getValueAt(rowNum, 4));
  41. jf6 = new JTextField(30);
  42. jf6.setText((String)sm.getValueAt(rowNum, 5));
  43. jf7 = new JTextField(30);
  44. jf7.setText((String)sm.getValueAt(rowNum, 6));
  45. jb1 = new JButton("修改");
  46. jb1.addActionListener(this::actionPerformed);
  47. jb2 = new JButton("取消");
  48. jb2.addActionListener(this::actionPerformed);
  49. jp1 = new JPanel();
  50. jp2 = new JPanel();
  51. jp3 = new JPanel();
  52. //设置布局
  53. jp1.setLayout(new GridLayout(7,1));
  54. jp2.setLayout(new GridLayout(7,1));
  55. jp3.add(jb1);
  56. jp3.add(jb2);
  57. jp1.add(jl1);
  58. jp1.add(jl2);
  59. jp1.add(jl3);
  60. jp1.add(jl4);
  61. jp1.add(jl5);
  62. jp1.add(jl6);
  63. jp1.add(jl7);
  64. jp2.add(jf1);
  65. jp2.add(jf2);
  66. jp2.add(jf3);
  67. jp2.add(jf4);
  68. jp2.add(jf5);
  69. jp2.add(jf6);
  70. jp2.add(jf7);
  71. this.add(jp1, BorderLayout.WEST);
  72. this.add(jp2, BorderLayout.CENTER);
  73. this.add(jp3, BorderLayout.SOUTH);
  74. this.setLocation(600, 350);
  75. this.setSize(300,200);
  76. this.setVisible(true);
  77. }
  78. @Override
  79. public void actionPerformed(ActionEvent e) {
  80. // TODO Auto-generated method stub
  81. if(e.getSource() == jb1){
  82. Connection ct = null;
  83. PreparedStatement pstmt = null;
  84. ResultSet rs = null;
  85. try{
  86. //1.加载驱动
  87. Class.forName("com.mysql.cj.jdbc.Driver");
  88. System.out.println("加载成功");
  89. //2.连接数据库
  90. //定义几个常量
  91. String url = "jdbc:mysql://localhost:3306/student";
  92. String user = "root";
  93. String passwd = "666666";
  94. ct = DriverManager.getConnection(url,user,passwd);
  95. //与编译语句对象
  96. String strsql = "update stu set stuName = '"+jf2.getText()+"',stuSex = '"+jf3.getText()+"',stuAge = '"+jf4.getText()+"',stuJG='"+jf5.getText()+"',stuLX='"+jf6.getText()+"',stuBJ='"+jf7.getText()+"' where stuId = '"+jf1.getText()+"'";
  97. pstmt = ct.prepareStatement(strsql);
  98. pstmt.executeUpdate();
  99. JOptionPane.showMessageDialog(null, "修改成功", "修改情况",JOptionPane.PLAIN_MESSAGE);
  100. this.dispose();//关闭学生对话框
  101. }catch(Exception arg1){
  102. arg1.printStackTrace();
  103. }finally{
  104. try{
  105. if(rs!=null){
  106. rs.close();
  107. rs = null;
  108. }
  109. if(pstmt != null){
  110. pstmt.close();
  111. pstmt = null;
  112. }
  113. if(ct != null){
  114. ct.close();
  115. ct = null;
  116. }
  117. }catch(Exception arg2){
  118. arg2.printStackTrace();
  119. }
  120. }
  121. }else{
  122. this.dispose();//关闭学生对话框
  123. }
  124. }
  125. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/39656
推荐阅读
相关标签
  

闽ICP备14008679号