소개
이 프로젝트에서는 Java 와 MySQL 을 사용하여 대학교 정보 조회 시스템을 만드는 방법을 배우게 됩니다. 이 프로젝트는 MySQL 데이터베이스 설정, Java 를 사용하여 데이터베이스에 연결, 학생, 강좌 및 강사에 대한 정보를 쿼리하는 과정을 안내합니다.
👀 미리보기

🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- MySQL 서비스를 시작하고 데이터베이스를 가져오는 방법
- Java 프로젝트 디렉토리를 생성하고 파일을 구성하는 방법
- Java 와 JDBC 드라이버를 사용하여 MySQL 데이터베이스에 연결하는 방법
- 데이터베이스에서 정보를 쿼리하고 결과를 표시하는 Java 코드 작성 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- Java 애플리케이션을 MySQL 데이터베이스에 연결하는 기본 사항 이해
- SQL 쿼리를 실행하고 데이터를 검색하는 Java 코드 작성
- 대학교 데이터베이스에서 데이터를 표시할 수 있는 간단한 정보 조회 시스템 개발
MySQL 서비스 시작 및 데이터베이스 임포트
이 단계에서는 MySQL 서비스를 시작하고 edusys.sql 데이터베이스를 가져오는 방법을 배우게 됩니다. 이 단계를 완료하려면 아래 단계를 따르세요:
MySQL 서비스를 시작합니다. 터미널에서 다음 명령을 실행하여 수행할 수 있습니다:
sudo service mysql startedusys.sql데이터베이스를 MySQL 로 가져옵니다. 터미널에서 다음 명령을 실행하여 수행할 수 있습니다:mysql -u root < /home/labex/project/edusys.sql
이 명령은 root 사용자를 사용하여 edusys.sql 데이터베이스를 MySQL 로 가져옵니다.
Java 프로젝트 디렉토리 생성
이 단계에서는 Java 프로젝트 디렉토리를 생성하는 방법을 배우게 됩니다. 아래 단계를 따라 이 단계를 완료하세요:
Java 프로젝트를 위한 새 디렉토리를 생성합니다:
mkdir /home/labex/project/demo cd /home/labex/project/demo프로젝트에 필요한 하위 디렉토리를 생성합니다:
mkdir src lib binsrc디렉토리에는 Java 소스 코드 파일이 포함됩니다.lib디렉토리에는 프로젝트에서 사용하는 외부 라이브러리가 포함됩니다.bin디렉토리에는 컴파일된 Java 클래스 파일이 포함됩니다.
JDBC 드라이버 및 Java 파일 이동
이 단계에서는 JDBC 드라이버와 Querysys.java 파일을 적절한 디렉토리로 이동하는 방법을 배우게 됩니다. 아래 단계를 따라 이 단계를 완료하세요:
JDBC 드라이버를
lib디렉토리로 이동합니다:mv /home/labex/project/mysql-connector-java-8.0.21.jar /home/labex/project/demo/libQuerysys.java파일을src디렉토리로 이동합니다:mv /home/labex/project/Querysys.java /home/labex/project/demo/src
쿼리 시스템 구현
이 단계에서는 Querysys.java 파일에서 대학 정보 쿼리 시스템에 대한 코드를 구현합니다. 아래 단계를 따라 이 단계를 완료하세요:
텍스트 편집기에서
Querysys.java파일을 엽니다.executeQuery()메서드에 다음 코드를 추가합니다:public static void executeQuery() { // Write code here Connection connection = null; Statement stmt = null; ResultSet rs = null; try{ // Write code here Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/edusys"; String username = "root"; String password = ""; connection = DriverManager.getConnection(url, username, password); Scanner scanner = new Scanner(System.in); System.out.println("Enter the table to query:"); System.out.println("1. student"); System.out.println("2. course"); System.out.println("3. instructor"); int option = scanner.nextInt(); String sql = ""; switch (option) { case 1: sql = "SELECT ID, name, dept_name FROM student"; break; case 2: sql = "SELECT course_id, title, dept_name FROM course"; break; case 3: sql = "SELECT ID, name, dept_name FROM instructor"; break; default: System.out.println("Invalid option"); } stmt = connection.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { String column1 = rs.getString(1); String column2 = rs.getString(2); String column3 = rs.getString(3); System.out.println(column1 + "\t" + column2 + "\t" + column3); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally{ try { if(rs != null)rs.close(); if(stmt != null)stmt.close(); if(connection != null)connection.close(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }이 코드는 MySQL 데이터베이스에 연결하고, 사용자에게 쿼리할 테이블을 선택하도록 요청하며, 적절한 SQL 쿼리를 실행하고, 결과를 콘솔에 출력합니다.
Querysys.java파일을 저장합니다.
프로그램 컴파일 및 실행
이 단계에서는 Querysys.java 프로그램을 컴파일하고 실행합니다. 아래 단계를 따라 이 단계를 완료하세요:
Querysys.java파일을 컴파일합니다:javac -d /home/labex/project/demo/bin/ /home/labex/project/demo/src/Querysys.java이 명령어는
Querysys.java파일을 컴파일하고 컴파일된 클래스 파일을bin디렉토리에 배치합니다.Querysys프로그램을 실행합니다:java -cp /home/labex/project/demo/bin/:/home/labex/project/demo/lib/mysql-connector-java-8.0.21.jar Querysys이 명령어는
bin디렉토리의 컴파일된 클래스 파일과lib디렉토리의 JDBC 드라이버를 사용하여Querysys프로그램을 실행합니다.다음과 같은 출력을 볼 수 있습니다:
Enter the table to query: 1. student 2. course 3. instructor 2 BIO-101 Intro. to Biology Biology BIO-301 Genetics Biology BIO-399 Computational Biology Biology CS-101 Intro. to Computer Science Comp. Sci. CS-190 Game Design Comp. Sci. CS-315 Robotics Comp. Sci. CS-319 Image Processing Comp. Sci. CS-347 Database System Concepts Comp. Sci. EE-181 Intro. to Digital Systems Elec. Eng. FIN-201 Investment Banking Finance HIS-351 World History History MU-199 Music Video Production Music PHY-101 Physical Principles Physics
축하합니다! 대학 정보 쿼리 시스템을 성공적으로 구현했습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



