Java+MySQL实现学生信息管理系统源码

基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家。(由于篇幅原因,代码未全部列出,如有需要留下邮箱)

鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git

1、 开发环境:jdk7+MySQL5+win7

代码结构:model-dao-view

2、 数据库设计--建库建表语句:

CREATE DATABASE student; 

DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(20) NOT NULL,
 `username` varchar(20) NOT NULL,
 `password` varchar(20) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; 

LOCK TABLES `admin` WRITE;
INSERT INTO `admin` VALUES (1,'admin','admin','admin');
UNLOCK TABLES; 

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(20) NOT NULL,
 `sno` varchar(20) NOT NULL,
 `department` varchar(20) NOT NULL,
 `hometown` varchar(20) NOT NULL,
 `mark` varchar(20) NOT NULL,
 `email` varchar(20) NOT NULL,
 `tel` varchar(20) NOT NULL,
 `sex` varchar(20) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; 

LOCK TABLES `student` WRITE;
INSERT INTO `student` VALUES (18,'张三','001','信息科学技术学院','辽宁','80','zhangsan@163.com','13888888888','男'),(19,'李四','002','理学院','上海','70','lisi@sina.com','13812341234','男'),(20,'王五','003','外国语学院','北京','88','wangwu@126.com','13698765432','女');
UNLOCK TABLES;

3、model--管理员、学生

/**
 * 项目名:student
 * 修改历史:
 * 作者: MZ
 * 创建时间: 2016年1月6日-上午9:42:48
 */
package com.student.model; 

/**
 * 模块说明:admin
 *
 */
public class Admin {
  private int id;
  private String name;
  private String username;
  private String password; 

  public String getName() {
    return name;
  } 

  public void setName(String name) {
    this.name = name;
  } 

  public int getId() {
    return id;
  } 

  public void setId(int id) {
    this.id = id;
  } 

  public String getUsername() {
    return username;
  } 

  public void setUsername(String username) {
    this.username = username;
  } 

  public String getPassword() {
    return password;
  } 

  public void setPassword(String password) {
    this.password = password;
  } 

}
/**
 * 项目名:student
 * 修改历史:
 * 作者: MZ
 * 创建时间: 2016年1月6日-上午9:42:36
 */
package com.student.model; 

/**
 * 模块说明: 学生
 *
 */
public class Student {
  private int id;
  private String sno;// 学号
  private String name;
  private String sex;
  private String department;// 院系
  private String homeTown;// 籍贯
  private String mark;// 学分
  private String email;
  private String tel;// 联系方式 

  public int getId() {
    return id;
  } 

  public void setId(int id) {
    this.id = id;
  } 

  public String getSno() {
    return sno;
  } 

  public void setSno(String sno) {
    this.sno = sno;
  } 

  public String getName() {
    return name;
  } 

  public void setName(String name) {
    this.name = name;
  } 

  public String getSex() {
    return sex;
  } 

  public void setSex(String sex) {
    this.sex = sex;
  } 

  public String getDepartment() {
    return department;
  } 

  public void setDepartment(String department) {
    this.department = department;
  } 

  public String getHomeTown() {
    return homeTown;
  } 

  public void setHomeTown(String homeTown) {
    this.homeTown = homeTown;
  } 

  public String getMark() {
    return mark;
  } 

  public void setMark(String mark) {
    this.mark = mark;
  } 

  public String getEmail() {
    return email;
  } 

  public void setEmail(String email) {
    this.email = email;
  } 

  public String getTel() {
    return tel;
  } 

  public void setTel(String tel) {
    this.tel = tel;
  } 

}

4、 工具类DBUtil(对jdbc进行封装)

/**
 * 项目名:student
 * 修改历史:
 * 作者: MZ
 * 创建时间: 2016年1月6日-上午9:43:21
 */
package com.student.util; 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; 

import com.student.AppConstants; 

/**
 * 模块说明:数据库工具类
 *
 */
public class DBUtil {
  private static DBUtil db; 

  private Connection conn;
  private PreparedStatement ps;
  private ResultSet rs; 

  private DBUtil() { 

  } 

  public static DBUtil getDBUtil() {
    if (db == null) {
      db = new DBUtil();
    }
    return db;
  } 

  public int executeUpdate(String sql) {
    int result = -1;
    if (getConn() == null) {
      return result;
    }
    try {
      ps = conn.prepareStatement(sql);
      result = ps.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return result;
  } 

  public int executeUpdate(String sql, Object[] obj) {
    int result = -1;
    if (getConn() == null) {
      return result;
    }
    try {
      ps = conn.prepareStatement(sql);
      for (int i = 0; i < obj.length; i++) {
        ps.setObject(i + 1, obj[i]);
      }
      result = ps.executeUpdate();
      close();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return result;
  } 

  public ResultSet executeQuery(String sql) {
    if (getConn() == null) {
      return null;
    }
    try {
      ps = conn.prepareStatement(sql);
      rs = ps.executeQuery();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return rs;
  } 

  public ResultSet executeQuery(String sql, Object[] obj) {
    if (getConn() == null) {
      return null;
    }
    try {
      ps = conn.prepareStatement(sql);
      for (int i = 0; i < obj.length; i++) {
        ps.setObject(i + 1, obj[i]);
      }
      rs = ps.executeQuery();
    } catch (SQLException e) {
      e.printStackTrace();
    } 

    return rs;
  } 

  private Connection getConn() {
    try {
      if (conn == null || conn.isClosed()) {
        Class.forName(AppConstants.JDBC_DRIVER);
        conn = DriverManager.getConnection(AppConstants.JDBC_URL, AppConstants.JDBC_USERNAME,
            AppConstants.JDBC_PASSWORD);
      }
    } catch (ClassNotFoundException e) {
      System.out.println("jdbc driver is not found.");
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return conn;
  } 

  public void close() {
    try {
      if (rs != null) {
        rs.close();
      }
      if (ps != null) {
        ps.close();
      }
      if (conn != null) {
        conn.close();
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }
}

5、 dao:主要调用DBUtil操作相应的model--增删改查

BaseDAO.java

/**
 * 项目名:student
 * 修改历史:
 * 作者: MZ
 * 创建时间: 2016年1月6日-上午10:04:37
 */
package com.student.base; 

import java.sql.ResultSet;
import java.sql.SQLException; 

import com.student.DAO;
import com.student.dao.AdminDAO;
import com.student.dao.StudentDAO;
import com.student.util.DBUtil; 

/**
 * 模块说明: DAO基类
 *
 */
public abstract class BaseDAO {
  protected final DBUtil db = DBUtil.getDBUtil();
  protected ResultSet rs;
  private static BaseDAO baseDAO; 

  public BaseDAO() {
    init();
  } 

  private void init() {
    // buildAbilityDAO();
  } 

  // protected abstract void buildAbilityDAO(); 

  public static synchronized BaseDAO getAbilityDAO(DAO dao) {
    switch (dao) {
    case AdminDAO:
      if (baseDAO == null || baseDAO.getClass() != AdminDAO.class) {
        baseDAO = AdminDAO.getInstance();
      }
      break;
    case StudentDAO:
      if (baseDAO == null || baseDAO.getClass() != StudentDAO.class) {
        baseDAO = StudentDAO.getInstance();
      }
      break;
    default:
      break;
    }
    return baseDAO;
  } 

  protected void destroy() {
    try {
      if (rs != null) {
        rs.close();
      }
    } catch (SQLException se) {
      se.printStackTrace();
    } finally {
      db.close();
    }
  }
}

AdminDAO.java

/**
 * 项目名:student
 * 修改历史:
 * 作者: MZ
 * 创建时间: 2016年1月6日-上午9:59:58
 */
package com.student.dao; 

import java.sql.SQLException; 

import com.student.base.BaseDAO; 

/**
 * 模块说明: 管理员增删改查
 *
 */
public class AdminDAO extends BaseDAO { 

  private static AdminDAO ad = null; 

  public static synchronized AdminDAO getInstance() {
    if (ad == null) {
      ad = new AdminDAO();
    }
    return ad;
  } 

  public boolean queryForLogin(String username, String password) {
    boolean result = false;
    if (username.length() == 0 || password.length() == 0) {
      return result;
    }
    String sql = "select * from admin where username=? and password=?";
    String[] param = { username, password };
    rs = db.executeQuery(sql, param);
    try {
      if (rs.next()) {
        result = true;
      }
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      destroy();
    }
    return result;
  } 

}

StudentDAO.java

/**
 * 项目名:student
 * 修改历史:
 * 作者: MZ
 * 创建时间: 2016年1月6日-上午10:00:07
 */
package com.student.dao; 

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; 

import com.student.base.BaseDAO;
import com.student.model.Student; 

/**
 * 模块说明: 学生增删改查
 *
 */
public class StudentDAO extends BaseDAO {
  private final int fieldNum = 9;
  private final int showNum = 15;
  private static StudentDAO sd = null; 

  public static synchronized StudentDAO getInstance() {
    if (sd == null) {
      sd = new StudentDAO();
    }
    return sd;
  } 

  // update
  public boolean update(Student stu) {
    boolean result = false;
    if (stu == null) {
      return result;
    }
    try {
      // check
      if (queryBySno(stu.getSno()) == 0) {
        return result;
      }
      // update
      String sql = "update student set sex=?,department=?,email=?,tel=?,hometown=?,mark=? where name=? and sno=?";
      String[] param = { stu.getSex(), stu.getDepartment(), stu.getEmail(), stu.getTel(), stu.getHomeTown(),
          stu.getMark(), stu.getName(), stu.getSno() };
      int rowCount = db.executeUpdate(sql, param);
      if (rowCount == 1) {
        result = true;
      }
    } catch (SQLException se) {
      se.printStackTrace();
    } finally {
      destroy();
    }
    return result;
  } 

  // delete
  public boolean delete(Student stu) {
    boolean result = false;
    if (stu == null) {
      return result;
    }
    String sql = "delete from student where name=? and sno=?";
    String[] param = { stu.getName(), stu.getSno() };
    int rowCount = db.executeUpdate(sql, param);
    if (rowCount == 1) {
      result = true;
    }
    destroy();
    return result;
  } 

  // add
  public boolean add(Student stu) {
    boolean result = false;
    if (stu == null) {
      return result;
    }
    try {
      // check
      if (queryBySno(stu.getSno()) == 1) {
        return result;
      }
      // insert
      String sql = "insert into student(name,sno,sex,department,hometown,mark,email,tel) values(?,?,?,?,?,?,?,?)";
      String[] param = { stu.getName(), stu.getSno(), stu.getSex(), stu.getDepartment(), stu.getHomeTown(),
          stu.getMark(), stu.getEmail(), stu.getTel() };
      if (db.executeUpdate(sql, param) == 1) {
        result = true;
      }
    } catch (SQLException se) {
      se.printStackTrace();
    } finally {
      destroy();
    }
    return result;
  } 

  // query by name
  public String[][] queryByName(String name) {
    String[][] result = null;
    if (name.length() < 0) {
      return result;
    }
    List<Student> stus = new ArrayList<Student>();
    int i = 0;
    String sql = "select * from student where name like ?";
    String[] param = { "%" + name + "%" };
    rs = db.executeQuery(sql, param);
    try {
      while (rs.next()) {
        buildList(rs, stus, i);
        i++;
      }
      if (stus.size() > 0) {
        result = new String[stus.size()][fieldNum];
        for (int j = 0; j < stus.size(); j++) {
          buildResult(result, stus, j);
        }
      }
    } catch (SQLException se) {
      se.printStackTrace();
    } finally {
      destroy();
    } 

    return result;
  } 

  // query
  public String[][] list(int pageNum) {
    String[][] result = null;
    if (pageNum < 1) {
      return result;
    }
    List<Student> stus = new ArrayList<Student>();
    int i = 0;
    int beginNum = (pageNum - 1) * showNum;
    String sql = "select * from student limit ?,?";
    Integer[] param = { beginNum, showNum };
    rs = db.executeQuery(sql, param);
    try {
      while (rs.next()) {
        buildList(rs, stus, i);
        i++;
      }
      if (stus.size() > 0) {
        result = new String[stus.size()][fieldNum];
        for (int j = 0; j < stus.size(); j++) {
          buildResult(result, stus, j);
        }
      }
    } catch (SQLException se) {
      se.printStackTrace();
    } finally {
      destroy();
    } 

    return result;
  } 

  // 将rs记录添加到list中
  private void buildList(ResultSet rs, List<Student> list, int i) throws SQLException {
    Student stu = new Student();
    stu.setId(i + 1);
    stu.setName(rs.getString("name"));
    stu.setDepartment(rs.getString("department"));
    stu.setEmail(rs.getString("email"));
    stu.setHomeTown(rs.getString("hometown"));
    stu.setMark(rs.getString("mark"));
    stu.setSex(rs.getString("sex"));
    stu.setSno(rs.getString("sno"));
    stu.setTel(rs.getString("tel"));
    list.add(stu);
  } 

  // 将list中记录添加到二维数组中
  private void buildResult(String[][] result, List<Student> stus, int j) {
    Student stu = stus.get(j);
    result[j][0] = String.valueOf(stu.getId());
    result[j][1] = stu.getName();
    result[j][2] = stu.getSno();
    result[j][3] = stu.getSex();
    result[j][4] = stu.getDepartment();
    result[j][5] = stu.getHomeTown();
    result[j][6] = stu.getMark();
    result[j][7] = stu.getEmail();
    result[j][8] = stu.getTel();
  } 

  // query by sno
  private int queryBySno(String sno) throws SQLException {
    int result = 0;
    if ("".equals(sno) || sno == null) {
      return result;
    }
    String checkSql = "select * from student where sno=?";
    String[] checkParam = { sno };
    rs = db.executeQuery(checkSql, checkParam);
    if (rs.next()) {
      result = 1;
    }
    return result;
  } 

}

6、 view:与用户交互的界面(包括LoginView.java、MainView.java、AddView.java、DeleteView.java、UpdateView.java),主要使用DAO提供的接口,由于篇幅原因,仅列出MainView即首页。

/**
 * 项目名:student
 * 修改历史:
 * 作者: MZ
 * 创建时间: 2016年1月6日-下午1:37:39
 */
package com.student.view; 

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; 

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn; 

import com.student.AppConstants;
import com.student.DAO;
import com.student.base.BaseDAO;
import com.student.dao.StudentDAO; 

/**
 * 模块说明: 首页
 *
 */
public class MainView extends JFrame { 

 private static final long serialVersionUID = 5870864087464173884L; 

 private final int maxPageNum = 99; 

 private JPanel jPanelNorth, jPanelSouth, jPanelCenter;
 private JButton jButtonFirst, jButtonLast, jButtonNext, jButtonPre, jButtonAdd, jButtonDelete, jButtonUpdate,
   jButtonFind;
 private JLabel currPageNumJLabel;
 private JTextField condition;
 public static JTable jTable;
 private JScrollPane jScrollPane;
 private DefaultTableModel myTableModel; 

 public static String[] column = { "id", AppConstants.STUDENT_NAME, AppConstants.STUDENT_SNO,
   AppConstants.STUDENT_SEX, AppConstants.STUDENT_DEPARTMETN, AppConstants.STUDENT_HOMETOWN,
   AppConstants.STUDENT_MARK, AppConstants.STUDENT_EMAIL, AppConstants.STUDENT_TEL };
 public static int currPageNum = 1; 

 public MainView() {
  init();
 } 

 private void init() {
  setTitle(AppConstants.MAINVIEW_TITLE); 

  // north panel
  jPanelNorth = new JPanel();
  jPanelNorth.setLayout(new GridLayout(1, 5));
  condition = new JTextField(AppConstants.PARAM_FIND_CONDITION);
  condition.addKeyListener(new FindListener());
  jPanelNorth.add(condition);
  // query by name
  jButtonFind = new JButton(AppConstants.PARAM_FIND);
  jButtonFind.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    find();
   }
  });
  jButtonFind.addKeyListener(new FindListener());
  // add
  jPanelNorth.add(jButtonFind);
  jButtonAdd = new JButton(AppConstants.PARAM_ADD);
  jButtonAdd.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    new AddView();
   }
  });
  jPanelNorth.add(jButtonAdd);
  // delete
  jButtonDelete = new JButton(AppConstants.PARAM_DELETE);
  jButtonDelete.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    new DeleteView();
   }
  });
  jPanelNorth.add(jButtonDelete);
  // update
  jButtonUpdate = new JButton(AppConstants.PARAM_UPDATE);
  jButtonUpdate.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    new UpdateView();
   }
  });
  jPanelNorth.add(jButtonUpdate); 

  // center panel
  jPanelCenter = new JPanel();
  jPanelCenter.setLayout(new GridLayout(1, 1)); 

  // init jTable
  String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum);
  myTableModel = new DefaultTableModel(result, column);
  jTable = new JTable(myTableModel);
  DefaultTableCellRenderer cr = new DefaultTableCellRenderer();
  cr.setHorizontalAlignment(JLabel.CENTER);
  jTable.setDefaultRenderer(Object.class, cr);
  initJTable(jTable, result); 

  jScrollPane = new JScrollPane(jTable);
  jPanelCenter.add(jScrollPane); 

  // south panel
  jPanelSouth = new JPanel();
  jPanelSouth.setLayout(new GridLayout(1, 5)); 

  jButtonFirst = new JButton(AppConstants.MAINVIEW_FIRST);
  jButtonFirst.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    currPageNum = 1;
    String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum);
    initJTable(jTable, result);
    currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum
      + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE);
   }
  });
  jButtonPre = new JButton(AppConstants.MAINVIEW_PRE);
  jButtonPre.addActionListener(new ActionListener() { 

   @Override
   public void actionPerformed(ActionEvent e) {
    currPageNum--;
    if (currPageNum <= 0) {
     currPageNum = 1;
    }
    String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum);
    initJTable(jTable, result);
    currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum
      + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE);
   }
  });
  jButtonNext = new JButton(AppConstants.MAINVIEW_NEXT);
  jButtonNext.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    currPageNum++;
    if (currPageNum > maxPageNum) {
     currPageNum = maxPageNum;
    }
    String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum);
    initJTable(jTable, result);
    currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum
      + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE);
   }
  });
  jButtonLast = new JButton(AppConstants.MAINVIEW_LAST);
  jButtonLast.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    currPageNum = maxPageNum;
    String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum);
    initJTable(jTable, result);
    currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum
      + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE);
   }
  }); 

  currPageNumJLabel = new JLabel(
    AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE);
  currPageNumJLabel.setHorizontalAlignment(JLabel.CENTER); 

  jPanelSouth.add(jButtonFirst);
  jPanelSouth.add(jButtonPre);
  jPanelSouth.add(currPageNumJLabel);
  jPanelSouth.add(jButtonNext);
  jPanelSouth.add(jButtonLast); 

  this.add(jPanelNorth, BorderLayout.NORTH);
  this.add(jPanelCenter, BorderLayout.CENTER);
  this.add(jPanelSouth, BorderLayout.SOUTH); 

  setBounds(400, 200, 750, 340);
  setResizable(false);
  setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  setVisible(true);
 } 

 public static void initJTable(JTable jTable, String[][] result) {
  ((DefaultTableModel) jTable.getModel()).setDataVector(result, column);
  jTable.setRowHeight(20);
  TableColumn firsetColumn = jTable.getColumnModel().getColumn(0);
  firsetColumn.setPreferredWidth(30);
  firsetColumn.setMaxWidth(30);
  firsetColumn.setMinWidth(30);
  TableColumn secondColumn = jTable.getColumnModel().getColumn(1);
  secondColumn.setPreferredWidth(60);
  secondColumn.setMaxWidth(60);
  secondColumn.setMinWidth(60);
  TableColumn thirdColumn = jTable.getColumnModel().getColumn(2);
  thirdColumn.setPreferredWidth(90);
  thirdColumn.setMaxWidth(90);
  thirdColumn.setMinWidth(90);
  TableColumn fourthColumn = jTable.getColumnModel().getColumn(3);
  fourthColumn.setPreferredWidth(30);
  fourthColumn.setMaxWidth(30);
  fourthColumn.setMinWidth(30);
  TableColumn seventhColumn = jTable.getColumnModel().getColumn(6);
  seventhColumn.setPreferredWidth(30);
  seventhColumn.setMaxWidth(30);
  seventhColumn.setMinWidth(30);
  TableColumn ninthColumn = jTable.getColumnModel().getColumn(8);
  ninthColumn.setPreferredWidth(90);
  ninthColumn.setMaxWidth(90);
  ninthColumn.setMinWidth(90);
 } 

 private class FindListener extends KeyAdapter { 

  @Override
  public void keyPressed(KeyEvent e) {
   if (e.getKeyCode() == KeyEvent.VK_ENTER) {
    find();
   }
  }
 } 

 private void find() {
  currPageNum = 0;
  String param = condition.getText();
  if ("".equals(param) || param == null) {
   initJTable(MainView.jTable, null);
   currPageNumJLabel.setText(AppConstants.MAINVIEW_FIND_JLABEL);
   return;
  }
  String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).queryByName(param);
  condition.setText("");
  initJTable(MainView.jTable, result);
  currPageNumJLabel.setText(AppConstants.MAINVIEW_FIND_JLABEL);
 } 

} 

end.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-11-13

学生信息管理系统java版

本文为大家分享了java学生信息管理系统的源代码,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Student[] s=new Student[2]; int n=0; private Stri

java学生信息管理系统设计

本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

图书管理系统java版

本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

java学生信息管理系统MVC架构详解

本文实例为大家分享了java学生信息管理系统MVC架构,供大家参考,具体内容如下 一.项目结构 学生信息管理系统分三层进行实现.student.java主要提供数据,cotroller.java的功能是绑定试图和计算数据.Stuview.java用于单一的用来显示数据. 二.源码 1.1.Student 类 /* * @FileName: Student.class * @version:1.0 * @author:nazi * 描述:模型层 * */ import java.io.Serial

一个简陋的java图书管理系统

本文代码为原创一个简陋的管理系统,只做功能的测试.并没有去完善所有应有的功能,只做了输入输出查找,仅供参考! 菜单部分: import java.util.Scanner; public class Menu { int Min = 1; int Max = 3; public void getMenu(){ System.out.println("1.显示/2.输入/3.查找"); } public void getFindMenu(){ System.out.println(&qu

Java+Mysql学生管理系统源码

最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

java学生信息管理系统设计(2)

本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

简单实现Java版学生管理系统

本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下 package BookDemo_1; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test { public static void main(String[] args) { StudentSys stuSys=new StudentSys("学生管理系统"); stuSys.initWi

Java学生信息管理系统设计(数据库版)

本文实例为大家分享了数据库版的Java学生信息管理系统,供大家参考,具体内容如下 package Student_system; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import

java(swing)+ mysql实现学生信息管理系统源码

本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

java+SQL server2008学生信息管理系统源码

本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

java实现简单的学生信息管理系统代码实例

java实现简单的学生信息管理系统(无界面) 学生类实体: package com.edu.imau.wcy; public class Stu { private String stuNum;//学号 private String name;//姓名 private String gender;//性别 private int age;//年龄 private int score;//分数 public Stu() { super(); } public String getStuNum()

基于php+MySql实现学生信息管理系统实例

php大作页,使用php+mysql技术,实现了基本的分页,信息查询,修改,增加,删除操作 有以下几个基本页面 登录页面 首页 修改学生基本信息 修改学生学籍信息 修改学生成绩信息 增加学生信息 下载链接在我git上,喜欢的请给我个star 下载地址:点这里https://github.com/zxhjames/PhpStudentManageSystem 到此这篇关于基于php+MySql实现学生信息管理系统实例的文章就介绍到这了,更多相关php+MySql实现学生信息管理系统内容请搜索我们以

C语言职工信息管理系统源码

本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

Java基于MySQL实现学生管理系统

本文为大家分享了Java基于MySQL实现学生管理系统,供大家参考,具体内容如下 因为实验室要交作业然后就做了一个学生管理系统,贴个代码纪念一下,做的太急界面什么的也比较差. 还有一些小细节没有完善不过还是能实现主要的功能的. Window是主界面 package First; import java.sql.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Window { pub

JSP学生信息管理系统

本文实例为大家分享了JSP学生信息管理系统源码,JSP+Servlet+Javabean+JDBC+MySQL,供大家参考,具体内容如下 1.service层,进行数据库操作     package com.service; /** * 负责学生信息的所有数据库操作,增删改查 */ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQ

C++学生信息管理系统

本文实例为大家分享了C++学生信息管理系统源码,供大家参考,具体内容如下 1. tea_list.c #include<stdio.h> #include<stdlib.h> #include<string.h> #include"teacher.h" int sq_tea ; PTEA head = NULL ; FILE *fp ; int tea_llopen(const char* path)//打开文件 { fp=fopen(path,&q