이 튜토리얼은 학생 등록 관리 시스템의 특정 Java 코드를 공유합니다. 특정 내용은 다음과 같습니다
1. 요구 사항 분석
1.1 시스템 기능 설계
(1) 학생의 기본 정보와 같은 학생의 기본 정보를 쿼리 할 수 있어야합니다.
1.2 시스템 모듈 설계
Academic Record Management 시스템에는 정보 모듈 추가, 정보 모듈 삭제, 정보 수정, 정보 모듈 쿼리 및 데이터 모듈 업데이트가 포함됩니다. 시스템 관리자는 학생의 학생 번호, 이름, 성별, 연령, 상 및 기타 정보를 확인할 수 있습니다.
(특정 시스템 구조 설계 ER 다이어그램은 부록 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 주요 인터페이스 세그먼트 코드 및 주석
패키지 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"); // 데이터베이스와 연결 연결을 설정 // 데이터베이스는 IP에 있습니다 : 127.0.0.1 (기본) // 데이터베이스 포트 번호 : 3306 (MySQL 전용 포트 번호) // 데이터베이스 이름 StudInfo // 인코딩 방법 UTF-8 // 비밀번호 관리자 연결 C = DriverMannection (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 인터페이스
패키지 jdbc; import java.util.list; import arcagain.student; public interface dao {// public void add (학생 스터드); // 공개 무효 업데이트 수정 (학생 스터드); // public void delete (int id) 삭제; // 공개 영웅을 얻습니다 (int id); // 쿼리 공개 목록 <스튜던트> list (); // 페이지 쿼리 공개 목록 <스튜던트리스트 (int start, int count);}// 자세한 SQL 문 및 코드 구현 후 페이지의 부록 주석을 확인하십시오!
2.3 디자인 방법
단일 내장 설계 모델이 채택되었습니다. 추가, 삭제, 검색 및 수정 기능을 설계 할 때, 데이터베이스는 독립적으로 호출하여 이후 단계에서 소프트웨어를 유지하는 번거 로움을 피합니다. 이 소프트웨어는 독립적으로 연결 데이터베이스 기능을 클래스로 가져옵니다. 데이터베이스 연결 코드의 큰 세그먼트를 반복적으로 구현하지 않고 나중에 사용될 때만 호출하면 코드 중복성을 줄이며 이후 시스템의 추가 개선에 도움이되고 다른 프로그래머의 읽기를 용이하게합니다.
(다음은 교사의 독서를 용이하게하는 것입니다. SQL-Conncet 연결의 싱글 톤 디스플레이 만 완료됩니다!)
패키지 util; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; public class dbutil {정적 문자열 ip = "127.0.0.1"; 정적 int 포트 = 3306; 정적 문자열 데이터베이스 = "학생"; 정적 문자열 인코딩 = "UTF-8"; 정적 문자열 loginname = "root"; 정적 문자열 비밀번호 = "admin"; static {try {class.forname ( "com.mysql.jdbc.driver"); } catch (classNotFoundException e) {e.printstacktrace (); }} public static connection getConnection ()는 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. 시스템 결함
이 시스템에는 많은 버그가 있습니다. 예를 들어, 데이터를 가져오고 내보낼 때 새 데이터와 이전 데이터 사이의 빈 줄을 제거 할 수 없습니다. 새로운 학생 번호를 삽입하면 이전 학생 번호와 충돌하여 소프트웨어의 자동 종료가 발생할 수 있습니다. 전반적으로, 여전히 많은 개선 사항이 있으며 더 많은 개선 사항이 있습니다.
둘째, 이번에 설계된 소프트웨어에는 비교적 독신이므로 구현하기에는 너무 번거로운 학생이 있습니다. ER 다이어그램 및 수업 시간에 배운 다른 디자인을 구현할 여지가 없다는 것입니다. 겨울 방학 동안 학생, 과정 및 교사 간의 질문이 실현 될 수 있으며이 시스템을 더욱 향상시킬 수 있기를 바랍니다.
4. 파일 시스템 구현 및 데이터베이스 구현의 장단점
파일 시스템은 공유 불량, 중복성이 높은, 데이터 독립성이 좋지 않으며 레코드의 구조, 구조가없는 전체 구조가있는 특정 응용 프로그램을 목표로합니다.
데이터베이스 시스템은 현실 세계를 지향하고 공유가 높고 중복성이 낮고 물리적 독립성이 높고 논리적 고유성이 있으며 전체적으로 구조화되어 데이터 모델에 의해 설명됩니다. 데이터베이스 관리 시스템은 데이터 보안, 무결성, 동시 제어 및 복구 기능을 제공합니다. 데이터 공유 개선; 데이터 중복성을 줄이고 데이터 일관성을 향상시킵니다. 데이터 구조를 실현하기 위해 특정 데이터 모델을 채택합니다. 데이터는 DBM에 의해 관리되고 제어되며, 컴퓨터가 아닌 사람들의 운영 및 사용에 더 도움이되어 학습 비용을 줄입니다. 또한 데이터베이스 기술 개발과 오늘날의 소프트웨어 사용으로 사용자는 소프트웨어의 데이터베이스 기능 사용을 알지 못합니다.
부록 1 : 코드 스 니펫의 SQL 문은 추가, 삭제 및 삭제됩니다 (함수 구현은 비교적 동일합니다. 여기서는 첫 번째 업데이트, 추가, 삭제 기능이 표시되며 번거로운 코드가 반복적으로 표시되지 않으며 키 코드 만 참조 할 수 있습니다).
1. 업데이트 된 구현
// 업데이트 구현 코드 스 니펫 공개 업데이트 (Student STU) {부울 결과 = false; if (stu == null) {return result; } try {// if (QueryBysno (stu.getSno ()) == 0) {return result; } // 구현 업데이트 문자열 sql = "업데이트 학생 세트 ID =?, 이름 =?, 클래스 =?, 섹스 =?"; 문자열 [] 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 (); } 마침내 {destroy (); } 반환 결과; }2. 구현 코드 삭제 ( 형식 및 클래스 설정은 1과 동일하며 SQL 문을 변경하십시오).
문자열 sql = "id =?"에서 학생에서 삭제합니다. "; 문자열 [] param = {stu.getId ()};3. 구현 코드
문자열 sql = "학생에 삽입 (ID, 이름, 클래스, 섹스) 값 (?,?,?,?); 문자열 [] param = {stu.getId (), stu.getName (), stu.getClass (), stu.getSex ()};4. 쿼리 구현 (ID 기반 쿼리)
private int querybyid (문자열 ID)는 sqlexception {int result = 0; if ( "".equals (id) || id == null) {return result; } 문자열 checkl = "select *에서 where id =?"; 문자열 [] checkParam = {id}; RS = DB.ExecuteQuery (CheckSQL, CheckParam); if (rs.next ()) {result = 1; } 반환 결과; }}더 많은 학습 자료는 특별한 주제 "관리 시스템 개발"에주의를 기울이십시오.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.