DB - JAVA로 게시판 만드는 퀴즈(5) - Delete(삭제) '편'(2022-08-10)
2022. 8. 10. 21:10ㆍ3층 1구역 - 개발의 장/Oracle DataBase
1. 서론
삭제에 대해 알아보자.
2. 본론
main.java
package jdbc7_answer;
import java.util.Scanner;
public class Main {
private static Scanner in = new Scanner(System.in);
private static BoardServiceImpl boardService = new BoardServiceImpl();
public static void main(String[] args) {
while (true) {
System.out.println();
System.out.println("1. 게시글 등록");
System.out.println("2. 게시글 번호 검색");
System.out.println("3. 게시글 제목 검색");
System.out.println("4. 게시글 모두 보기");
System.out.println("5. 게시글 삭제");
System.out.println("6. 게시글 수정");
System.out.println("7. 프로그램 종료");
System.out.print("선택 > ");
int select;
try {
select = Integer.parseInt(in.next());
} catch (Exception e) {
continue;
}
switch (select) {
case 1: insert(); break;
case 2: selectNum(); break;
case 3: selectSubject(); break;
case 4: selectAll(); break;
case 5: delete(); break;
case 6: update(); break;
case 7: disconnection();
System.out.println("프로그램을 종료합니다.");
System.exit(0);
default:
System.out.println("메뉴 확인 후 다시 입력하세요.");
}
}
}
private static void delete() {
System.out.print("게시글 번호 : ");
String n = in.next();
boardService.delete(n);
}
}
BoardServiceImpl.java
package jdbc7_answer;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class BoardServiceImpl implements IBoardService{
private BoardDAOImpl boardDao = new BoardDAOImpl();
@Override
public void delete(String n) {
int num = 0;
try {
num = Integer.parseInt(n);
} catch (Exception e) {
System.out.println("숫자를 입력하세요.");
return;
}
}
BoardDAOImpl.java
package jdbc7_answer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class BoardDAOImpl implements IBoardDAO {
private Connection con;
private PreparedStatement ps;
private ResultSet rs;
public BoardDAOImpl() {
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String username = "<권한받은 계정>";
String password = "<설치 시 설정한 비밀번호>";
try {
Class.forName("oracle.jdbc.OracleDriver");
con = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public int delete(int num) {
String sql = "DELETE FROM <테이블명> WHERE num=?";
try {
ps = con.prepareStatement(sql);
ps.setInt(1, num);
return ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
}
BoardServiceImpl.java
package jdbc7_answer;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class BoardServiceImpl implements IBoardService{
private BoardDAOImpl boardDao = new BoardDAOImpl();
int result = boardDao.delete(num);
if(result == 1)
System.out.println("게시글이 삭제되었습니다.");
else {
System.out.println("게시글이 삭제되지 않았습니다. 다시 시도 하세요.");
}
}
}
3. 결론
그 통장을 개설했던 사람이 길고 긴 시간 끝에 개설했던 통장이 전부 만기가 되었다!
그 사람은 통장을 해제(main의 delete부분) 하려고 한다. 은행원(BoardServiceImpl)은 통장 개설시 부여받았던 번호를 말해달라고 했고, 또 '여러번' 드립 치면 한소리
(try {
num = Integer.parseInt(n);
} catch (Exception e) {
System.out.println("숫자를 입력하세요.");
return;
} 예외 과정) 들을거 같아 제대로 번호를 말했다.
그 번호(num = Integer.parseInt(n);)를 가지고 은행원(BoardServiceImpl)은 그 번호와 일치하는 정보를
데이터베이스(BoardDAOImpl)에서 찾아 그 사람의 통장정보를 지우고 해제한 후 그 사람은 만기된 적금을 받았다더라...
'3층 1구역 - 개발의 장 > Oracle DataBase' 카테고리의 다른 글
DB - JAVA로 게시판 만드는 퀴즈(7) - Exit(종료) '편'(2022-08-10) (0) | 2022.08.10 |
---|---|
DB - JAVA로 게시판 만드는 퀴즈(6) - Update(정보수정) '편'(2022-08-10) (0) | 2022.08.10 |
DB - JAVA로 게시판 만드는 퀴즈(4) - SelectAll(게시물 모두 보기) '편'(2022-08-10) (0) | 2022.08.10 |
DB - JAVA로 게시판 만드는 퀴즈(3) - SelectNum(게시물 번호로 검색하기) '편'(2022-08-10) (0) | 2022.08.10 |
DB - JAVA로 게시판 만드는 퀴즈(2) - Insert(게시물 등록하기) '편'(2022-08-10) (0) | 2022.08.10 |