├── .classpath
├── .gitignore
├── .project
├── .settings
├── org.eclipse.core.resources.prefs
└── org.eclipse.jdt.core.prefs
├── README.md
├── soccerPlayer.sql
└── src
└── soccer
├── DBConnection.java
├── Main.java
└── SoccerPlayer.java
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by https://www.toptal.com/developers/gitignore/api/java
2 | # Edit at https://www.toptal.com/developers/gitignore?templates=java
3 |
4 | ### Java ###
5 | # Compiled class file
6 | *.class
7 |
8 | # User account file
9 | *.properties
10 |
11 | # Log file
12 | *.log
13 |
14 | # BlueJ files
15 | *.ctxt
16 |
17 | # Mobile Tools for Java (J2ME)
18 | .mtj.tmp/
19 |
20 | # Package Files #
21 | *.jar
22 | *.war
23 | *.nar
24 | *.ear
25 | *.zip
26 | *.tar.gz
27 | *.rar
28 |
29 | # Virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
30 | hs_err_pid*
31 |
32 | # End of https://www.toptal.com/developers/gitignore/api/java
33 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | soccer
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=MS949
3 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=17
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
13 | org.eclipse.jdt.core.compiler.release=enabled
14 | org.eclipse.jdt.core.compiler.source=17
15 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # soccerplayer
2 | # 축구선수 순위 관리 프로그램
3 |
4 | ## 개 요
5 |
6 | Java와 MySql을 활용한 축구선수 순위 관리 프로그램 제작
7 |
8 | ## 개발환경
9 |
10 | | 구 분 | 내 용 |
11 | | --- | --- |
12 | | OS | Windows 10 Home |
13 | | Language | Java 17.0.4 |
14 | | Editor | Eclipse 2020-12(4.18.0) |
15 | | DBMS | MySQL Workbench 80. |
16 | | Github | https://github.com/fkrbtjs/soccerplayer-repos |
17 |
18 | ## 개발기간
19 |
20 | 2022.09.29(목) ~ 2022.10.3(월)
21 |
22 | ## 기능 요약 및 설명
23 |
24 | ### 1. 선수정보 입력
25 | - 선수 이름,팀,골,어시스트,파울을 입력하여 저장한다.
26 |
27 | 
28 |
29 | ### 2. 선수정보 출력
30 | - 저장된 선수 정보를 리스트형식으로 출력한다.
31 |
32 | 
33 |
34 | ### 3. 선수정보 수정 및 검색
35 | - 저장된 선수 정보를 이름으로 호출하여 골,어시스트,파울수를 수정한다.
36 | - 저장된 선수 정보를 이름으로 호출하여 출력한다.
37 |
38 | 
39 |
40 | ### 4. 선수정보 삭제
41 | - 저장된 선수 정보를 이름으로 호출하여 삭제한다.
42 |
43 | 
44 |
45 |
46 | ### 5. 선수정보 정렬
47 | - 저장된 선수들의 골,어시스트,포인트를 내림차순으로 정렬하여 출력한다.
48 |
49 | 
50 |
51 | ### 6. 선수정보 통계
52 | - 저장된 선수 정보 중 최다득점,최다어시스트,최소파울을 한 선수의 이름을 출력한다.
53 |
54 | 
55 |
56 | ### 7. 종료
57 | - 축구선수 순위 관리프로그램을 종료한다.
58 |
59 | 
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/soccerPlayer.sql:
--------------------------------------------------------------------------------
1 | -- soccerplayer 데이터베이스 생성
2 |
3 | drop database if exists soccerplayerDB;
4 | create database soccerplayerDB;
5 |
6 |
7 |
8 | -- soccerplayer 데이터베이스 사용
9 |
10 | use soccerplayerDB;
11 |
12 |
13 |
14 | -- soccerplayer 테이블 생성
15 |
16 | CREATE TABLE soccerplayer (
17 | name CHAR(10) NOT NULL,
18 | team CHAR(10) NOT NULL,
19 | goal INT NOT NULL,
20 | assist INT NOT NULL,
21 | foul INT NOT NULL,
22 | point INT NULL,
23 | rate INT NULL,
24 | constraint pk_soccerplayer_name primary key(name)
25 | );
26 |
27 | -- 인덱스 생성
28 |
29 |
30 | alter table soccerplayer drop index idx_soccerplayer_name;
31 | create index idx_soccerplayer_name on soccerplayer(name);
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | -- soccerplayer 입력 프로시져 생성
40 |
41 | delimiter //
42 | create procedure
43 | procedure_insert_soccerplayer(
44 | IN in_name char(10),
45 | IN in_team char(10),
46 | In in_goal int,
47 | In in_assist int,
48 | In in_foul int
49 | )
50 | begin
51 | DECLARE in_point int default 0;
52 | SET in_point = in_goal + in_assist;
53 |
54 | insert into soccerplayer(name,team,goal,assist,foul) values(in_name,in_team,in_goal,in_assist,in_foul);
55 | UPDATE soccerplayer set point = in_point where name = in_name;
56 | end //
57 | delimiter ;
58 |
59 |
60 |
61 | -- soccerplayer 수정 프로시져 생성
62 |
63 | delimiter //
64 | create procedure
65 | procedure_update_soccerplayer(
66 | IN in_name char(10),
67 | IN in_team char(10),
68 | In in_goal int,
69 | In in_assist int,
70 | In in_foul int
71 | )
72 | begin
73 | DECLARE in_point int default 0;
74 | SET in_point = in_goal + in_assist;
75 |
76 | UPDATE soccerplayer set name=in_name, team = in_team ,goal=in_goal,assist=in_assist,foul=in_foul,point = in_point where name = in_name;
77 | end //
78 | delimiter ;
79 |
80 |
81 |
82 | -- soccerplayer 삭제 프로시져 생성
83 |
84 | delimiter //
85 | create procedure
86 | procedure_delete_soccerplayer(
87 | IN in_name char(10)
88 | )
89 | begin
90 | DECLARE in_point int default 0;
91 | delete from soccerplayer where name = in_name;
92 | end //
93 | delimiter ;
94 |
95 |
96 |
97 | -- soccerplayer 삭제 테이블 생성
98 |
99 | create table deleteSoccerPlayer(
100 | name char(10) not null primary key,
101 | team char(10) not null,
102 | goal int not null,
103 | assist int not null,
104 | foul int not null,
105 | point int not null,
106 | rate int null default 0,
107 | deleteDate datetime
108 | );
109 |
110 |
111 |
112 | -- soccerplayer 수정 테이블 생성
113 |
114 | create table updateSoccerPlayer(
115 | name char(10) not null primary key,
116 | team char(10) not null,
117 | goal int not null,
118 | assist int not null,
119 | foul int not null,
120 | point int not null,
121 | rate int null default 0,
122 | updateDate datetime
123 | );
124 | -- soccerplayer 삭제 트리거 생성
125 |
126 | delimiter //
127 | create trigger trg_deleteSoccerPlayer
128 | after delete
129 | on soccerPlayer
130 | for each row
131 | begin
132 | insert into `deletesoccerplayer` values(old.name,old.team,old.goal,old.assist,old.foul,old.point,old.rate,now());
133 | end //
134 | delimiter ;
135 |
136 |
137 |
138 | -- soccerplayer 수정 트리거 생성
139 |
140 | delimiter //
141 | create trigger trg_updateSoccerPlayer
142 | after update
143 | on soccerPlayer
144 | for each row
145 | begin
146 | insert into `updatesoccerplayer` values(old.name,old.team,old.goal,old.assist,old.foul,old.point,old.rate,now());
147 | end //
148 | delimiter ;
149 |
--------------------------------------------------------------------------------
/src/soccer/DBConnection.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fkrbtjs/soccerplayerProgram-java-project/ec05882351ff59c291773bd53849ccd60f599faa/src/soccer/DBConnection.java
--------------------------------------------------------------------------------
/src/soccer/Main.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fkrbtjs/soccerplayerProgram-java-project/ec05882351ff59c291773bd53849ccd60f599faa/src/soccer/Main.java
--------------------------------------------------------------------------------
/src/soccer/SoccerPlayer.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fkrbtjs/soccerplayerProgram-java-project/ec05882351ff59c291773bd53849ccd60f599faa/src/soccer/SoccerPlayer.java
--------------------------------------------------------------------------------