java实现学籍管理系统
| 
                         本教程为大家分享了学籍管理系统的具体java代码,供大家参考,具体内容如下 1.需求分析  1.1系统功能设计  (1)能够查询学生的基本信息,如:学号,姓名年龄,班级和性别  1.2系统模块设计  学籍管理系统包括增加信息模块,删除信息模块,修改信息模块,查询信息模块,更新数据模块。系统管理人员能够查询学生的学号,姓名,性别,年龄,所获奖项等信息。  2.系统实现  本系统使用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界面展示  3.系统缺陷  该系统存在很多bug,例如在导入导出数据的时候,新数据和旧数据之间的空行无法消除,新的学号插入时和旧学号可能会引起冲突,导致软件自动关闭,总体来说还有很多进步的地方,望进一步修复。  4.文件系统实现和数据库实现的优劣  文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。  数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。提高了数据的共享性;降低了数据的冗余度,提高了数据的一致性;采用一定的数据模型实现数据结构化;数据由DBMS统一管理和控制,且更利于非计算机人士的操作和使用,降低了学习成本。并且随着数据库技术的发展和当今软件配合使用,使得用户都意识不到自己的软件在使用数据库功能。 附录1:代码片段中的sql语句实现增删查改  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.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; 
 } 
} 
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
