쵼쥬
쵼쥬의 개발공부 TIL
쵼쥬
전체 방문자
오늘
어제
  • 분류 전체보기 (276)
    • 코딩테스트 (192)
      • [알고리즘] 알고리즘 정리 (7)
      • [백준] 코딩테스트 연습 (126)
      • [프로그래머스] 코딩테스트 연습 (59)
    • Spring (71)
      • [인프런] 스프링 핵심 원리- 기본편 (9)
      • [인프런] 스프링 MVC 1 (6)
      • [인프런] 스프링 MVC 2 (4)
      • [인프런] 실전! 스프링 부트와 JPA 활용1 (7)
      • [인프런] 실전! 스프링 부트와 JPA 활용2 (5)
      • [인프런] 실전! 스프링 데이터 JPA (7)
      • [인프런] 실전! Querydsl (7)
      • JWT (5)
      • [인프런] Spring Cloud (17)
      • [인프런] Spring Batch (4)
    • Java (6)
      • [Java8] 모던인자바액션 (4)
      • [부스트코스] 웹 백엔드 (2)
      • [패스트캠퍼스] JAVA STREAM (0)
    • CS (6)
      • 디자인 패턴과 프로그래밍 패터다임 (2)
      • 네트워크 (4)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 구현
  • 코딩테스트
  • 타임리프
  • 백분
  • 부스트코스
  • querydsl
  • MVC
  • 누적합
  • spring
  • 위클리 챌린지
  • 스프링
  • BFS
  • 알고리즘
  • 프로그래머스
  • Spring Data JPA
  • 백준
  • 자바
  • jpa
  • 비트마스킹
  • 인프런

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
쵼쥬

쵼쥬의 개발공부 TIL

Java/[부스트코스] 웹 백엔드

프로젝트A. 명함 관리 프로그램

2021. 7. 15. 14:27

1. 프로젝트 개요


첫번째 프로젝트는 CLI(Command Line Interface)를 사용하는 명함관리 프로그램을 만드는 것입니다. 터미널(윈도우는 cmd창)상에서 동작하는 프로그램을 작성해야 합니다.

기능 요구사항은 다음의 기획서를 참고해 주세요. 기획서는 서비스 프로젝트에서 요구사항을 담은 내용이라고 생각하시면 됩니다.

여러분들은 기획서를 참고하여 프로젝트 결과를 만들어내야 합니다.

 

 

2. 프로젝트 개발스펙


프로그램을 시작하면 메인화면이 보여져야 합니다.


기술 요구사항

  • 메인 화면과 키보드 입력 부분에 대한 코드는 미리 주어집니다.
  • 테이블 생성 스크립트 ddl.sql 을 프로젝트에 포함시켜 제출하세요.
  • 제공된 BusinessCardManagerDao를 JDBC프로그래밍으로 구현하세요.

 


 

작성한 코드

BusinessCardManagerDao.java

package org.edwith.webbe.cardmanager.dao;

import org.edwith.webbe.cardmanager.dto.BusinessCard;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class BusinessCardManagerDao {
    private static String dburl = "jdbc:mysql://localhost:3306/cardmanager?useSSL=false&serverTimezone=UTC";
    private static String dbUser = "root";
    private static String dbpassword = "1590836cjs!";

    public List<BusinessCard> searchBusinessCard(String keyword) {
        List<BusinessCard> list = new ArrayList<>();
        String sql = "SELECT name, phone_num, firm FROM card where name = ?";
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try (Connection conn = DriverManager.getConnection(dburl, dbUser, dbpassword);
             PreparedStatement ps = conn.prepareStatement(sql)) {
            ps.setString(1, keyword);
            try (ResultSet rs = ps.executeQuery()) {
                while(rs.next()){
                    String name = rs.getString("name");
                    String phone = rs.getString("phone_num");
                    String firm = rs.getString("firm");

                    BusinessCard bc = new BusinessCard(name, phone, firm);
                    list.add(bc);
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        return list;
    }

    public BusinessCard addBusinessCard(BusinessCard businessCard) {
        String sql = "INSERT INTO card (name, phone_num, firm) values(?, ?, ?)";

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        try (Connection conn = DriverManager.getConnection(dburl, dbUser, dbpassword);
             PreparedStatement ps = conn.prepareStatement(sql)) {
            ps.setString(1, businessCard.getName());
            ps.setString(2, businessCard.getPhone());
            ps.setString(3, businessCard.getCompanyName());

            ps.executeUpdate();

        } catch (Exception e) {
            e.printStackTrace();
        }

        return businessCard;
    }
}

 

https://github.com/jscheon/cardmanager.git

 

jscheon/cardmanager

Contribute to jscheon/cardmanager development by creating an account on GitHub.

github.com

 

 

https://www.boostcourse.org/web326/project/205/content/164?isDesc=false#summary

 

https://www.boostcourse.org/web326/project/205/content/164?isDesc=false#summary

 

www.boostcourse.org

 

'Java > [부스트코스] 웹 백엔드' 카테고리의 다른 글

프로젝트B. 방명록 만들기  (0) 2021.07.17
    'Java/[부스트코스] 웹 백엔드' 카테고리의 다른 글
    • 프로젝트B. 방명록 만들기
    쵼쥬
    쵼쥬

    티스토리툴바