java 학적 관리 시스템 구현

6413 단어 java학적계통
본 강좌는 여러분에게 학적 관리 시스템의 구체적인 자바 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같습니다.
1. 수요 분석
1.1 시스템 기능 설계
(1) 학번, 성명, 나이, 학급, 성별 등 학생의 기본 정보를 조회할 수 있다.
(2) 표의 학생 정보 증가, 삭제, 찾기, 수정 등 기능
(3) MySQL 데이터베이스에 데이터 저장
(4) mysql 데이터베이스를 통해 데이터 업데이트 가능
1.2 시스템 모듈 설계
학적 관리 시스템은 정보 모듈 증가, 정보 모듈 삭제, 정보 모듈 수정, 정보 조회 모듈, 데이터 모듈 업데이트를 포함한다.시스템 관리자는 학생의 학번, 성명, 성별, 나이, 수상 등 정보를 조회할 수 있다.
(구체적인 시스템 구조 설계 E-R 그림은 부록 2를 참조하십시오)
2. 시스템 구현
이 시스템은 Java/JDBC 언어로 프로그래밍된 방법으로 학적 관리를 수행합니다.
Java로 mysql 데이터베이스를 실현하는데 이 기술은 주로 JDBC 가져오기를 사용했다.jar, 자바 프로그래머가 표준 데이터베이스 접근 클래스와 인터페이스를 자유롭게 호출할 수 있도록 합니다.
JDBC와 자바를 결합하여 사용하면 사용자는 sql문장을 쉽게 사용하여 데이터베이스의 대부분 조작을 실현할 수 있고 자바의 이식은 다양한 운영체제의 특징과 JDBC의 사용에 적합하여 사용자의 수요를 만족시킬 수 있다.
2.1 주요 레이아웃 파일
'일사일지 원칙'에 따라 이 프로그램의 레이아웃을 진행하고 사용자가 읽을 수 있도록 관련 문서를 작성했으며 mysql의 데이터도'studifo.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 - connect 연결만 하는 예시입니다!)

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. 시스템 결함
이 시스템에는 많은 버그가 존재한다. 예를 들어 데이터를 가져오고 내보낼 때 새로운 데이터와 낡은 데이터 간의 공백을 없앨 수 없다. 새로운 학호가 삽입될 때와 낡은 학호가 충돌을 일으켜 소프트웨어가 자동으로 닫힐 수 있다. 전체적으로 보면 아직도 많은 진보가 있기 때문에 더욱 복구하기를 바란다.
그 다음으로 이번 디자인의 소프트웨어의 실체는 한 학생만 있고 비교적 단일하기 때문에 실현하는 것은 그리 번거롭지 않다. 다만 수업에서 배운 E-R도 등 디자인의 실현을 고찰할 여지가 많지 않다. 겨울방학에 학생, 과정, 그리고 선생님 세 표 간의 조회를 실현하고 이 시스템을 더욱 보완할 수 있기를 바란다.
4. 파일 시스템 구현과 데이터베이스 구현의 우열
파일 시스템은 특정한 응용 프로그램을 대상으로 공유성이 낮고 군더더기가 크며 데이터의 독립성이 낮으며 기록 안에 구조가 있고 전체적으로 구조가 없으며 응용 프로그램이 스스로 제어한다.
데이터베이스 시스템은 현실 세계를 대상으로 공유성이 높고 군더더기가 적으며 비교적 높은 물리적 독립성과 일정한 논리적 독성을 가진다. 전체적인 구조화는 데이터 모델로 묘사하고 데이터베이스 관리 시스템이 데이터의 안전성, 완전성, 병발 제어와 복구 능력을 제공한다.데이터의 공유성을 높였다.데이터의 군더더기를 낮추고 데이터의 일치성을 높인다.일정한 데이터 모델을 이용하여 데이터 구조화를 실현한다.DBMS에서 데이터를 통합 관리하고 제어할 수 있으며 비컴퓨터의 운영 및 사용에 유리하여 학습 비용을 절감할 수 있습니다.또한 데이터베이스 기술의 발전과 현재의 소프트웨어의 협조 사용에 따라 사용자들은 자신의 소프트웨어가 데이터베이스 기능을 사용하고 있다는 것을 의식하지 못한다.
부록 1: 코드 세션의 sql 문장 삭제 수정 실현
(기능의 실현은 비교적 같다. 여기에 첫 번째 업데이트,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; 
 } 

} 
더 많은 학습 자료는 주제인 을 주목하세요.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기