Java+MySQL實現學生資訊管理系統
基於Java swing+MySQL實現學生資訊管理系統:主要實現JDBC對學生資訊進行增刪改查,應付一般課設足矣,分享給大家。
原始碼:
https://github.com/ZhuangM/student.git
1、 開發環境:jdk7+MySQL5+win7
程式碼結構:model-dao-view
2、 資料庫設計——建庫建表語句
CREATEDATABASEstudent;
DROPTABLEIFEXISTS`admin`;
CREATETABLE`admin`(
`id`int(11)NOTNULLAUTO_INCREMENT,
`name`varchar(20)NOTNULL,
`username`varchar(20)NOTNULL,
`password`varchar(20)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;
LOCKTABLES`admin`WRITE;
INSERTINTO`admin`VALUES(1,'admin','admin','admin');
UNLOCKTABLES;
DROPTABLEIFEXISTS`student`;
CREATETABLE`student`(
`id`int(11)NOTNULLAUTO_INCREMENT,
`name`varchar(20)NOTNULL,
`sno`varchar(20)NOTNULL,
`department`varchar(20)NOTNULL,
`hometown`varchar(20)NOTNULL,
`mark`varchar(20)NOTNULL,
`email`varchar(20)NOTNULL,
`tel`varchar(20)NOTNULL,
`sex`varchar(20)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBAUTO_INCREMENT=22DEFAULTCHARSET=utf8;
LOCKTABLES`student`WRITE;
INSERTINTO`student`VALUES(18,'張三','001','資訊科學技術學院','遼寧','80','[email protected]','13888888888','男'),(19,'李四','002','理學院','上海','70','[email protected]','13812341234','男'),(20,'王五','003','外國語學院','北京','88','[email protected]','13698765432','女');
UNLOCKTABLES;
3、model——管理員、學生
/**
* 專案名:student
* 修改歷史:
*/
package com.student.model;
/**
* 模組說明:admin
*
*/
publicclassAdmin{
privateintid;
privateString name;
privateString username;
privateString password;
publicStringgetName(){
returnname;
}
publicvoidsetName(String name){
this.name = name;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id = id;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(String username){
this.username = username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(String password){
this.password = password;
}
}
/**
* 專案名:student
* 修改歷史:
*/
package com.student.model;
/**
* 模組說明: 學生
*
*/
publicclassStudent {
privateint id;
privateStringsno;// 學號
privateStringname;
privateStringsex;
privateStringdepartment;// 院系
privateStringhomeTown;// 籍貫
privateStringmark;// 學分
privateStringemail;
privateStringtel;// 聯絡方式
publicint getId() {
returnid;
}
publicvoidsetId(int id) {
this.id = id;
}
publicStringgetSno() {
returnsno;
}
publicvoidsetSno(Stringsno) {
this.sno = sno;
}
publicStringgetName() {
returnname;
}
publicvoidsetName(Stringname) {
this.name = name;
}
publicStringgetSex() {
returnsex;
}
publicvoidsetSex(Stringsex) {
this.sex = sex;
}
publicStringgetDepartment() {
returndepartment;
}
publicvoidsetDepartment(Stringdepartment) {
this.department = department;
}
publicStringgetHomeTown() {
returnhomeTown;
}
publicvoidsetHomeTown(StringhomeTown) {
this.homeTown = homeTown;
}
publicStringgetMark() {
returnmark;
}
publicvoidsetMark(Stringmark) {
this.mark = mark;
}
publicStringgetEmail() {
returnemail;
}
publicvoidsetEmail(Stringemail) {
this.email = email;
}
publicStringgetTel() {
returntel;
}
publicvoidsetTel(Stringtel) {
this.tel = tel;
}
}
4、 工具類DBUtil(對jdbc進行封裝)
/**
* 專案名:student
* 修改歷史:
*/
packagecom.student.util;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importcom.student.AppConstants;
/**
* 模組說明:資料庫工具類
*
*/
publicclassDBUtil{
privatestaticDBUtil db;
privateConnection conn;
privatePreparedStatement ps;
privateResultSet rs;
privateDBUtil(){
}
publicstaticDBUtilgetDBUtil(){
if(db ==null) {
db =newDBUtil();
}
returndb;
}
publicintexecuteUpdate(String sql){
intresult = -1;
if(getConn() ==null) {
returnresult;
}
try{
ps = conn.prepareStatement(sql);
result = ps.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
}
returnresult;
}
publicintexecuteUpdate(String sql, Object[] obj){
intresult = -1;
if(getConn() ==null) {
returnresult;
}
try{
ps = conn.prepareStatement(sql);
for(inti =0; i < obj.length; i++) {
ps.setObject(i +1, obj[i]);
}
result = ps.executeUpdate();
close();
}catch(SQLException e) {
e.printStackTrace();
}
returnresult;
}
publicResultSetexecuteQuery(String sql){
if(getConn() ==null) {
returnnull;
}
try{
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
}catch(SQLException e) {
e.printStackTrace();
}
returnrs;
}
publicResultSetexecuteQuery(String sql, Object[] obj){
if(getConn() ==null) {
returnnull;
}
try{
ps = conn.prepareStatement(sql);
for(inti =0; i < obj.length; i++) {
ps.setObject(i +1, obj[i]);
}
rs = ps.executeQuery();
}catch(SQLException e) {
e.printStackTrace();
}
returnrs;
}
privateConnectiongetConn(){
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();
}
returnconn;
}
publicvoidclose(){
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
* 修改歷史:
*/
packagecom.student.base;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importcom.student.DAO;
importcom.student.dao.AdminDAO;
importcom.student.dao.StudentDAO;
importcom.student.util.DBUtil;
/**
* 模組說明: DAO基類
*
*/
publicabstractclassBaseDAO{
protectedfinalDBUtil db = DBUtil.getDBUtil();
protectedResultSet rs;
privatestaticBaseDAO baseDAO;
publicBaseDAO(){
init();
}
privatevoidinit(){
// buildAbilityDAO();
}
// protected abstract void buildAbilityDAO();
publicstaticsynchronizedBaseDAOgetAbilityDAO(DAO dao){
switch(dao) {
caseAdminDAO:
if(baseDAO ==null|| baseDAO.getClass() != AdminDAO.class) {
baseDAO = AdminDAO.getInstance();
}
break;
caseStudentDAO:
if(baseDAO ==null|| baseDAO.getClass() != StudentDAO.class) {
baseDAO = StudentDAO.getInstance();
}
break;
default:
break;
}
returnbaseDAO;
}
protectedvoiddestroy(){
try{
if(rs !=null) {
rs.close();
}
}catch(SQLException se) {
se.printStackTrace();
}finally{
db.close();
}
}
}
AdminDAO.java
/**
* 專案名:student
* 修改歷史:
*/
package com.student.dao;
importjava.sql.SQLException;
importcom.student.base.BaseDAO;
/**
* 模組說明: 管理員增刪改查
*
*/
publicclassAdminDAOextendsBaseDAO {
privatestaticAdminDAO ad =null;
publicstaticsynchronized AdminDAO getInstance() {
if(ad ==null) {
ad =newAdminDAO();
}
returnad;
}
publicbooleanqueryForLogin(Stringusername,Stringpassword) {
booleanresult =false;
if(username.length() ==0|| password.length() ==0) {
returnresult;
}
Stringsql ="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();
}
returnresult;
}
}
StudentDAO.java
/**
* 專案名:student
* 修改歷史:
*/
packagecom.student.dao;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;
importcom.student.base.BaseDAO;
importcom.student.model.Student;
/**
* 模組說明: 學生增刪改查
*
*/
publicclassStudentDAOextendsBaseDAO{
privatefinalintfieldNum =9;
privatefinalintshowNum =15;
privatestaticStudentDAO sd =null;
publicstaticsynchronizedStudentDAOgetInstance(){
if(sd ==null) {
sd =newStudentDAO();
}
returnsd;
}
// update
publicbooleanupdate(Student stu){
booleanresult =false;
if(stu ==null) {
returnresult;
}
try{
// check
if(queryBySno(stu.getSno()) ==0) {
returnresult;
}
// 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() };
introwCount = db.executeUpdate(sql, param);
if(rowCount ==1) {
result =true;
}
}catch(SQLException se) {
se.printStackTrace();
}finally{
destroy();
}
returnresult;
}
// delete
publicbooleandelete(Student stu){
booleanresult =false;
if(stu ==null) {
returnresult;
}
String sql ="delete from student where name=? and sno=?";
String[] param = { stu.getName(), stu.getSno() };
introwCount = db.executeUpdate(sql, param);
if(rowCount ==1) {
result =true;
}
destroy();
returnresult;
}
// add
publicbooleanadd(Student stu){
booleanresult =false;
if(stu ==null) {
returnresult;
}
try{
// check
if(queryBySno(stu.getSno()) ==1) {
returnresult;
}
// 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();
}
returnresult;
}
// query by name
publicString[][] queryByName(String name) {
String[][] result =null;
if(name.length() <0) {
returnresult;
}
List stus =newArrayList();
inti =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 =newString[stus.size()][fieldNum];
for(intj =0; j < stus.size(); j++) {
buildResult(result, stus, j);
}
}
}catch(SQLException se) {
se.printStackTrace();
}finally{
destroy();
}
returnresult;
}
// query
publicString[][] list(intpageNum) {
String[][] result =null;
if(pageNum <1) {
returnresult;
}
List stus =newArrayList();
inti =0;
intbeginNum = (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 =newString[stus.size()][fieldNum];
for(intj =0; j < stus.size(); j++) {
buildResult(result, stus, j);
}
}
}catch(SQLException se) {
se.printStackTrace();
}finally{
destroy();
}
returnresult;
}
// 將rs記錄新增到list中
privatevoidbuildList(ResultSet rs, List list,inti)throwsSQLException{
Student stu =newStudent();
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中記錄新增到二維陣列中
privatevoidbuildResult(String[][] result, List stus,intj){
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
privateintqueryBySno(String sno)throwsSQLException{
intresult =0;
if("".equals(sno) || sno ==null) {
returnresult;
}
String checkSql ="select * from student where sno=?";
String[] checkParam = { sno };
rs = db.executeQuery(checkSql, checkParam);
if(rs.next()) {
result =1;
}
returnresult;
}
}
6、 view:與使用者互動的介面(包括LoginView.java、MainView.java、AddView.java、DeleteView.java、UpdateView.java),主要使用DAO提供的介面,由於篇幅原因,僅列出MainView即首頁。
/**
* 專案名:student
* 修改歷史:
*/
packagecom.student.view;
importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.KeyAdapter;
importjava.awt.event.KeyEvent;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.JTextField;
importjavax.swing.table.DefaultTableCellRenderer;
importjavax.swing.table.DefaultTableModel;
importjavax.swing.table.TableColumn;
importcom.student.AppConstants;
importcom.student.DAO;
importcom.student.base.BaseDAO;
importcom.student.dao.StudentDAO;
/**
* 模組說明: 首頁
*
*/
publicclassMainViewextendsJFrame{
privatestaticfinallongserialVersionUID =5870864087464173884L;
privatefinalintmaxPageNum =99;
privateJPanel jPanelNorth, jPanelSouth, jPanelCenter;
privateJButton jButtonFirst, jButtonLast, jButtonNext, jButtonPre, jButtonAdd, jButtonDelete, jButtonUpdate,
jButtonFind;
privateJLabel currPageNumJLabel;
privateJTextField condition;
publicstaticJTable jTable;
privateJScrollPane jScrollPane;
privateDefaultTableModel myTableModel;
publicstaticString[] 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 };
publicstaticintcurrPageNum =1;
publicMainView(){
init();
}
privatevoidinit(){
setTitle(AppConstants.MAINVIEW_TITLE);
// north panel
jPanelNorth =newJPanel();
jPanelNorth.setLayout(newGridLayout(1,5));
condition =newJTextField(AppConstants.PARAM_FIND_CONDITION);
condition.addKeyListener(newFindListener());
jPanelNorth.add(condition);
// query by name
jButtonFind =newJButton(AppConstants.PARAM_FIND);
jButtonFind.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(ActionEvent e){
find();
}
});
jButtonFind.addKeyListener(newFindListener());
// add
jPanelNorth.add(jButtonFind);
jButtonAdd =newJButton(AppConstants.PARAM_ADD);
jButtonAdd.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(ActionEvent e){
newAddView();
}
});
jPanelNorth.add(jButtonAdd);
// delete
jButtonDelete =newJButton(AppConstants.PARAM_DELETE);
jButtonDelete.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(ActionEvent e){
newDeleteView();
}
});
jPanelNorth.add(jButtonDelete);
// update
jButtonUpdate =newJButton(AppConstants.PARAM_UPDATE);
jButtonUpdate.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(ActionEvent e){
newUpdateView();
}
});
jPanelNorth.add(jButtonUpdate);
// center panel
jPanelCenter =newJPanel();
jPanelCenter.setLayout(newGridLayout(1,1));
// init jTable
String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum);
myTableModel =newDefaultTableModel(result, column);
jTable =newJTable(myTableModel);
DefaultTableCellRenderer cr =newDefaultTableCellRenderer();
cr.setHorizontalAlignment(JLabel.CENTER);
jTable.setDefaultRenderer(Object.class, cr);
initJTable(jTable, result);
jScrollPane =newJScrollPane(jTable);
jPanelCenter.add(jScrollPane);
// south panel
jPanelSouth =newJPanel();
jPanelSouth.setLayout(newGridLayout(1,5));
jButtonFirst =newJButton(AppConstants.MAINVIEW_FIRST);
jButtonFirst.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(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 =newJButton(AppConstants.MAINVIEW_PRE);
jButtonPre.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(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 =newJButton(AppConstants.MAINVIEW_NEXT);
jButtonNext.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(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 =newJButton(AppConstants.MAINVIEW_LAST);
jButtonLast.addActionListener(newActionListener() {
@Override
publicvoidactionPerformed(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 =newJLabel(
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);
}
publicstaticvoidinitJTable(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);
}
privateclassFindListenerextendsKeyAdapter{
@Override
publicvoidkeyPressed(KeyEvent e){
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
find();
}
}
}
privatevoidfind(){
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);
}
}
微信公眾號:javafirst
掃碼關注免費獲取更多資源
相關推薦
Java+MySQL實現學生資訊管理系統
基於Java swing+MySQL實現學生資訊管理系統:主要實現JDBC對學生資訊進行增刪改查,應付一般課設足矣,分享給大家。 原始碼: https://github.com/ZhuangM/student.git 1、 開發環境:jdk7+MySQL5+win7
java(swing)+mysql實現學生資訊管理系統
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.Action
java+SQL做學生資訊管理系統(增刪改查)學生新作
java+SQL做學生資訊管理系統(增刪改查) 過程中需要用到的所有工具資料庫以及資料庫管理器等等 密碼:q80t 大學學習java後做的第一個小專案忍不住分享一下,也是我自己的面向物件程式設計的實踐作業啦,有點水,不是很優。廢話不多數,下面進入正題 介面的編
[原始碼和文件分享]基於JAVA的實現學生卡管理系統
一. 引言 1.1 編寫目的 自出臺“科教興國”方針後,國家對教育領域的重視程度越來越大,資金投入也越來越多。人們已經意識到教育的重要性,各地高校如雨後春筍般湧現出來,導致在校學生這支隊伍也日益壯大。這就意味著校園卡的使用越來越多,同時也加大了校園卡的管理難度。因此,設計一套行之有效的校園卡
C語言陣列實現學生資訊管理系統
概述 單純只用多個數組管理學生成績資訊,不使用結構體,該程式最主要的難點是依據學號或總成績對學生資訊進行排序,藉助了臨時陣列來標記排好序的下標。 執行結果如下: 輸入資料: 列印資料: 根據
JAVA原始碼(學生資訊管理系統)
1. [程式碼][Java]程式碼 package student; import java.sql.*; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.ev
JAVAEE案例: 基於javaweb、mysql的 學生資訊管理系統
此案例是基於JavaEE、mysql技術的學生資訊管理系統。 為了先對案例有個清楚的認識,這裡先貼上執行結果截圖: 1、索引頁面,進入系統。 2、主頁面: 3、點選新增: 4、刪除李琦琦一欄: 5、修改馬衍碩: 一、對資料庫的封裝: 在資料庫庫部分,通
基於JavaSwing+MySql的學生資訊管理系統
最近的生活感想 因為最近在寫一個和QQ差不多的聊天軟體,所以最近時間比較緊。昨天學校臨時發了一個作業。花了大概半天的時間寫了一個介面版本的操作資料庫的學生資訊管理 系統,因為時間很少所以介面就隨便寫了寫,程式碼也沒有優化。大家將就看吧。先上介面圖片!
用c++實現學生資訊管理系統
#include #include #include<string.h> using namespace std; #define MAXSIZE 20 class aclass; class student { private: long no;
Python實現學生資訊管理系統(修改版)
在學習之前先要了解sqlite遊標的使用方法python使用sqlite3時遊標的使用方法 繼上篇部落格Python實現學生資訊管理系統後,我就覺得寫的太複雜了,然後又是一通優化、優化、優化; 本次優化主要修改了: 1.使用遊標的方法連線、增、刪、改、查資
學生資訊管理系統--(Java+MySQL實現)
基於Java swing+MySQL實現學生資訊管理系統:主要實現JDBC對學生資訊進行增刪改查,應付一般課設足矣,分享給大家。(由於篇幅原因,程式碼未全部列出,如有需要留下郵箱) 1、開發環境:jdk7+MySQL5+win7 程式碼結構:model-dao
java集合類實現簡單的學生資訊管理系統
package jihe; import java.util.Scanner; public class Student { private String sno; private String sname; private int grade; private int age; private S
中職學生- 學生資訊管理系統【JavaWeb】Java+Servlet+Mysql+Jsp
1功能結構 2專案架構 3包及Java類說明 4資料庫設計 二功能實現 1登陸 2系統主介面 3新增學生資訊 4學生資訊維護 5根據學號查詢學生 6更新學生資訊 7刪除學生資訊 8更
學生資訊管理系統【JavaWeb】Java+Servlet+Mysql+Jsp
一、設計說明 1、功能結構 2、專案架構 3、包及Java類說明 4、資料庫設計 二、功能實現 1、登陸 2、系統主介面 登陸時呼叫LoginServlet,該Servlet完成相應的邏輯操作(判斷使用者名稱、密碼、 驗證碼是否為空)、並且呼叫相應的UserDao資料庫訪問層的
階段1:手把手教你做一個jsp servlet mysql實現的學生資訊管理系統附帶視訊開發教程和完整原始碼
繼前段時間我出了四個階段的Java swing的學生資訊系統後,大家反響不錯,所以緊接著就開始錄製Java web的學生系統,還是跟以前一樣,分為四個階段,每個階段都是獨立完整的系統,第一階段實現的功能是基本的學生資訊管理功能,包括學生資訊的新增、修改、刪除、查詢,班級資訊的
java陣列——用陣列實現學生姓名管理系統
1.需求:可以加入相同的學生姓名 package demo; import java.util.Arrays; import java.util.Scanner; /* * ==========歡迎使用學生管理系統1.0版本========= 1. 新增學生 2.刪除學生 3.修改
學生資訊管理系統:實現對學生資訊增刪改查操作
小白成長記,不喜勿噴,請多多指教 &nb
Java——Web開發之簡單的學生資訊管理系統
這僅僅是一個跟著視訊學習的小系統,大牛就繞道啦~ 系統實現的功能: 與mysql資料庫連線,實現登陸功能 管理員登陸成功後能檢視學生資訊 擴充套件功能(完成刪除與更新學生資訊的操作) 系統實現過程: 寫一個簡單的登陸
Java——Web開發之MVC設計模式的學生資訊管理系統(二)
為什麼這個標題為“(二)”,其實是對於上一個特別簡單學生資訊管理系統裡功能的完善。 所謂的“(一)”在這:學生資訊管理系統(一) 系統實現的功能: 實現新增學生 顯示查詢到的學生 刪除學生 更新學生資訊 模糊查詢符合相關資訊的學生
java web 學生資訊管理系統
##學生資訊管理系統 ## 資料庫準備 CREATE DATABASE stus; USE stus; CREATE TABLE stu ( sid INT PRIMARY KEY AUTO_INCREMENT,