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 |
---|