国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java實現學籍管理系統

2019-11-26 13:22:25
字體:
來源:轉載
供稿:網友

本教程為大家分享了學籍管理系統的具體java代碼,供大家參考,具體內容如下

1.需求分析

1.1系統功能設計

(1)能夠查詢學生的基本信息,如:學號,姓名年齡,班級和性別
(2)能對表格中的學生信息實現增加,刪除,查找,修改等功能
(3)能將數據保存到MySQL數據庫中,記錄下來
(4)能把數據通過mysql數據庫進行數據更新

1.2系統模塊設計

學籍管理系統包括增加信息模塊,刪除信息模塊,修改信息模塊,查詢信息模塊,更新數據模塊。系統管理人員能夠查詢學生的學號,姓名,性別,年齡,所獲獎項等信息。
(具體的系統結構設計E-R圖請翻閱附錄2)

2.系統實現

本系統使用Java/JDBC語言編程的方法實現學籍管理。
用Java實現mysql數據庫,該技術主要是使用了導入JDBC.jar,使得Java程序員能夠自由調用標準數據庫訪問類和接口。
JDBC和Java結合使用,使用戶可以容易的使用sql語句實現數據庫的大部分操作,而Java的容易移植,適合于多種操作系統的特點配合JDBC使用,可以滿足用戶需求。

2.1主要布局文件

根據“一事一地原則”,進行該程序的布局,書寫了相關文檔供用戶閱讀,mysql中的數據也可以導出到“studinfo.txt”文件中,便于用戶打印或者查閱。采用的JDBC為5.0.8版本。 2.2關鍵接口段代碼及其注解

package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class TestJDBC { public static void main(String[] args) { try {  Class.forName("com.mysql.jdbc.Driver");  // 建立與數據庫的Connection連接  // 數據庫所處于的ip:127.0.0.1 (本機)  // 數據庫的端口號: 3306 (mysql專用端口號)  // 數據庫名稱 studinfo  // 編碼方式 UTF-8  // 賬號 root  // 密碼 admin  Connection c = DriverManager   .getConnection(    "jdbc:mysql://127.0.0.1:3306/studinfo?characterEncoding=UTF-8",    "root", "admin");  System.out.println("連接成功,獲取連接對象: " + c); } catch (ClassNotFoundException e) {  e.printStackTrace(); } catch (SQLException e) {  e.printStackTrace(); } }}

2.2 DAO接口

package jdbc;import java.util.List;import charactor.student;public interface DAO{ //增加 public void add(student stud); //修改 public void update(student stud); //刪除 public void delete(int id); //獲取 public Hero get(int id); //查詢 public List<student> list(); //分頁查詢 public List<student> list(int start, int count);}

//詳細sql語句和代碼實現請查后頁附錄備注!

2.3 設計方法

采用單例化的設計模式,在分別設計增刪查改功能時,分別獨立的調用數據庫,以免后期維護軟件麻煩,本軟件將連接數據庫功能獨立的拿出來作為一個類,在后期使用的時候只需要調用即可,無需反復實現大段的數據庫連接代碼,減少代碼冗余,利于后期系統的進一步完善,以及便于其他程序員閱讀。

(下面為了老師閱讀方便,只做sql-conncet連接的單例展示!)

package util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil { static String ip = "127.0.0.1"; static int port = 3306; static String database = "student"; static String encoding = "UTF-8"; static String loginName = "root"; static String password = "admin"; static{ try {  Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) {  e.printStackTrace(); } } public static Connection getConnection() throws SQLException { String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s", ip, port, database, encoding); return DriverManager.getConnection(url, loginName, password); }}

2.4界面展示
在界面下方通過按鈕實現增刪修改和導入功能,在下方的填選框中可鍵入學生id實現查詢功能(這里假設id為該系統唯一的主鍵,觸發回車即可)

3.系統缺陷

該系統存在很多bug,例如在導入導出數據的時候,新數據和舊數據之間的空行無法消除,新的學號插入時和舊學號可能會引起沖突,導致軟件自動關閉,總體來說還有很多進步的地方,望進一步修復。
其次就是,本次設計的軟件的實體只有一個學生,較為單一,所以實現起來不是太麻煩,只是沒有很多的余地將上課學的E-R圖等設計的實現加入考察,希望寒假可以實現學生,課程,以及老師三表之間的查詢,將這個系統進一步完善。

4.文件系統實現和數據庫實現的優劣

文件系統面向某一應用程序,共享性差,冗余度大,數據獨立性差,記錄內有結構,整體無結構,由應用程序自己控制。

數據庫系統面向現實世界,共享性高,冗余度小,具有較高的物理獨立性和一定的邏輯獨性,整體結構化,用數據模型描述,由數據庫管理系統提供數據的安全性、完整性、并發控制和恢復能力。提高了數據的共享性;降低了數據的冗余度,提高了數據的一致性;采用一定的數據模型實現數據結構化;數據由DBMS統一管理和控制,且更利于非計算機人士的操作和使用,降低了學習成本。并且隨著數據庫技術的發展和當今軟件配合使用,使得用戶都意識不到自己的軟件在使用數據庫功能。

附錄1:代碼片段中的sql語句實現增刪查改
(功能的實現較為相同,這里展示第一個update,add,delete功能就不重復展示繁瑣的代碼了,只列出關鍵代碼以供查閱)

1.更新的實現

// update 實現代碼片段public 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 id=?,name=?,class=?,sex=?";   String[] param = { stu.getId(), stu.getName(), stu.getClass(), stu.getSex() };   int rowCount = db.executeUpdate(sql, param);   if (rowCount == 1) {   result = true;   }  } catch (SQLException se) {   se.printStackTrace();  } finally {   destroy();  }  return result;  } 

2.delete實現代碼(格式和類的建立都與1相同,更改sql語句即可)

String sql = "delete from student where id=?”; String[] param = { stu.getId()}; 

3.add實現代碼

String sql = "insert into student(id,name,class,sex) values(?,?,?,?)"; String[] param = { stu.getId(), stu.getName(), stu.getClass(), stu.getSex()};  

4.查詢實現(根據id查詢)

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

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东至县| 革吉县| 平顶山市| 自贡市| 五河县| 兴山县| 马关县| 信阳市| 扶沟县| 灵寿县| 长汀县| 胶州市| 浑源县| 读书| 沁阳市| 宜兰县| 清远市| 尼玛县| 凉山| 天津市| 博客| 嘉鱼县| 昂仁县| 兖州市| 高邮市| 定日县| 永城市| 治县。| 罗定市| 蛟河市| 安丘市| 嘉禾县| 娱乐| 美姑县| 乃东县| 江津市| 霍林郭勒市| 贵南县| 招远市| 邵武市| 蕉岭县|