menu
1.회원관리 2.게시판 3.종료
<회원관리>
회원가입 : id(중복검사)/pwd/name/email 입력받음 => db에 저장 (dao.insert())
로그인 : id/pwd 입력받음 => db에 검색 (dao.select(id) -> MemberVo/null(없는id)) => pwd 비교
로그아웃
내 정보 확인: dao.select(LoginId) -> 정보 출력
내 정보 수정: dao.update
탈퇴
<게시판>
글 작성 : title, content 입력.db 저장(dao.insert(vo))
글 전체목록: 글번호, 타이틀, 작성자만 출력
글 상세 보기
내 글 수정
내 글 삭제
작성자로 검색
제목으로 검색
● VO
더보기
package member;
public class MemberVo {
private String id;
private String pwd;
private String name;
private String email;
public MemberVo() {}
public MemberVo(String id, String pwd, String name, String email) {
super();
this.id = id;
this.pwd = pwd;
this.name = name;
this.email = email;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "내 정보 [id=" + id + ", pwd=" + pwd + ", name=" + name + ", email=" + email + "]";
}
}
● DAO
▼ Member1 DAO
더보기
package member;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import conn.DBConnect;
public class MemberDao {
private DBConnect dbconn;
public MemberDao() {
dbconn = DBConnect.getInstance();
}
// (primary key) id로 검색 (1 or 0개 검색)
public MemberVo select(String id) {
MemberVo vo = null;
Connection conn = dbconn.conn();
String sql = "select * from member1 where id = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
ResultSet rs = pstmt.executeQuery(); // select 실행
if (rs.next()) { // 첫 줄로 이동하여 데이터 있는지 확인
vo = new MemberVo(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return vo;
}
// insert (회원가입)
public void insert(MemberVo vo) {
Connection conn = dbconn.conn();
String sql = "insert into member1 values(?, ?, ?, ?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, vo.getId());
pstmt.setString(2, vo.getPwd());
pstmt.setString(3, vo.getName());
pstmt.setString(4, vo.getEmail());
int num = pstmt.executeUpdate();
System.out.println(num + "줄이 추가되었습니다.");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// update (id -> pwd, name)
public void update(MemberVo vo) {
Connection conn = dbconn.conn();
String sql = "update member1 set pwd = ?, name = ? where Id = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, vo.getPwd());
pstmt.setString(2, vo.getName());
pstmt.setString(3, vo.getId());
int num = pstmt.executeUpdate();
System.out.println(num + "줄이 수정되었습니다.");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// delete (id)
public void delete(String id) {
Connection conn = dbconn.conn();
String sql = "delete member1 where Id = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
int num = pstmt.executeUpdate();
System.out.println(num + "줄이 삭제되었습니다.");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
▼ Board DAO
더보기
package board;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import conn.DBConnect;
public class BoardDao {
private DBConnect dbconn;
public BoardDao() {
dbconn = DBConnect.getInstance(); // 싱글톤이어서 new 대신 .getInstance()
}
// 글 번호로 검색
public BoardVo select (int n) {
Connection conn = dbconn.conn();
BoardVo vo = null;
String sql = "select * from board where num = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, n);
ResultSet rs = pstmt.executeQuery();
if(rs.next()) {
int num = rs.getInt(1);
String writer = rs.getString(2);
Date w_date = rs.getDate(3);
String title = rs.getString(4);
String content = rs.getString(5);
vo = new BoardVo(num, writer, w_date, title, content);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return vo;
}
// 전체 검색
public ArrayList<BoardVo> selectAll () {
ArrayList<BoardVo> list = new ArrayList<>();
Connection conn = dbconn.conn();
String sql = "select * from board order by num desc";
BoardVo vo = null;
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while(rs.next()) {
list.add(new BoardVo (rs.getInt(1), rs.getString(2), rs.getDate(3), rs.getString(4), rs.getString(5)));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return list;
}
// 작성자로 검색 (여러개 검색됨)
public ArrayList<BoardVo> selectByWriter (String writer) {
ArrayList<BoardVo> list = new ArrayList<>();
Connection conn = dbconn.conn();
String sql = "select * from board where writer = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, writer);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
list.add(new BoardVo (rs.getInt(1), rs.getString(2), rs.getDate(3), rs.getString(4), rs.getString(5)));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return list;
}
// 제목으로 검색 (제목에 단어 포함된 것(like) 여러개 검색)
public ArrayList<BoardVo> selectByTitle (String title) {
ArrayList<BoardVo> list = new ArrayList<>();
Connection conn = dbconn.conn();
String sql = "select * from board where title like ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, title);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
list.add(new BoardVo (rs.getInt(1), rs.getString(2), rs.getDate(3), rs.getString(4), rs.getString(5)));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return list;
}
public void insert(BoardVo vo) {
Connection conn = dbconn.conn();
String sql = "insert into board values (seq_board.nextval, ?, sysdate, ?, ?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, vo.getWriter());
pstmt.setString(2, vo.getTitle());
pstmt.setString(3, vo.getContent());
int num = pstmt.executeUpdate();
System.out.println(num + "줄이 추가되었습니다.");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// update: 글 번호로 찾아서 title, content를 새 값으로 수정
public void update(BoardVo vo) {
Connection conn = dbconn.conn();
String sql = "update Board set title = ?, content = ? where num = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, vo.getTitle());
pstmt.setString(2, vo.getContent());
pstmt.setInt(3, vo.getNum());
int num = pstmt.executeUpdate();
System.out.println(num + "줄이 수정되었습니다.");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// delete: 글 번호로 찾아서 삭제
public void delete (int n) {
Connection conn = dbconn.conn();
String sql = "delete board where num = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, n);
int num = pstmt.executeUpdate();
System.out.println(num + "줄이 삭제되었습니다.");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
● Service
▼ Member1 Service
더보기
package member;
import java.util.Scanner;
//menu 1.회원관리 2.게시판 3. 종료
// 1. 회원관리 -- 회원가입, 로그인, 로그아웃, 내정보확인, 내정보수정, 탈퇴
public class MemberService {
private MemberDao dao;
// 로그인 한 사람의 아이디 저장. 값이 null이면 로그인 안 한 상태.
public static String LoginId; // 다른 클래스에서도 쉽게 접근할 수 있도록 public static.
public MemberService() {
dao = new MemberDao();
}
// < 회원 관리 >
// 1-1. 회원가입
public void join(Scanner sc) {
System.out.println("<회원가입>");
MemberVo vo = new MemberVo();
String id = "";
while (true) {
System.out.print("id:");
id = sc.next();
MemberVo m = dao.select(id); // 입력받은 id로 바로 검색.
if (m == null) { // 반환값이 null이면 중복아님 => 루프나감
break;
} else {
System.out.println("중복된 id. 다시 입력하시오.");
}
}
vo.setId(id);
System.out.print("pwd:");
vo.setPwd(sc.next());
System.out.print("name:");
vo.setName(sc.next());
System.out.print("email:");
vo.setEmail(sc.next());
dao.insert(vo);
System.out.println("회원가입 성공");
}
// 1-2. 로그인
public void login(Scanner sc) {
System.out.println("<로그인>");
System.out.print("id:");
String id = sc.next();
System.out.print("pwd:");
String pwd = sc.next();
// db id 검색 -> id/pwd 비교
MemberVo vo = dao.select(id);
if (vo == null) {
System.out.println("없는 id 입니다.");
System.out.println("로그인 실패");
} else {
if (vo.getPwd().equals(pwd)) { // 문자열 비교
System.out.println(id + "님 로그인 성공");
LoginId = id; // 로그인 처리
} else {
System.out.println("pwd가 다릅니다.");
System.out.println("로그인 실패");
}
}
}
// 1-3. 로그아웃
public void logout() {
if (LoginId == null) {
System.out.println("로그인 되지 않았습니다.");
} else {
System.out.println(LoginId + "님께서 로그아웃 하셨습니다.");
LoginId = null;
}
}
// 1-4. 내 정보 확인
public boolean printMyInfo() {
if (LoginId == null) {
System.out.println("로그인 되지 않았습니다.");
return false;
} else {
System.out.println("<내 정보 확인>");
System.out.println(dao.select(LoginId));
return true;
}
}
// 1-5. 내 정보 수정
public void editMyInfo(Scanner sc) {
System.out.println("<내 정보 수정>");
boolean flag = printMyInfo(); //수정 전 정보 확인
if (flag == false) { // 로그인 상태 아니면 종료
return;
}
System.out.print("new pwd:");
String pwd = sc.next();
System.out.print("new name:");
String name = sc.next();
//db에서 수정
dao.update(new MemberVo(LoginId, pwd, name, ""));
printMyInfo();
}
// 1-6. 탈퇴
public void out() {
System.out.println("<탈퇴>");
if (LoginId == null) {
System.out.println("로그인 되지 않았습니다.");
} else {
dao.delete(LoginId);
LoginId = null;
}
}
}
▼ Board Service
더보기
package board;
import java.util.ArrayList;
import java.util.Scanner;
import member.MemberService;
//menu 1.회원관리 2.게시판 3. 종료
//2. 게시판 -- 글 작성, 글 전체목록, 글상세, 내글수정, 내글삭제, 작성자로 검색, 제목으로 검색
public class BoardService {
private BoardDao dao;
public static String LoginId;
public BoardService() {
dao = new BoardDao();
}
// 2-1. 글 작성
// 로그인한 아이디(login(sc)) ->
public void addBoard(Scanner sc) {
System.out.println("<글 작성>");
System.out.print("Title:");
sc.nextLine(); // 버퍼에 남은 엔터 제거.(초기화)
String title = sc.nextLine(); // 엔터를 만날 때까지 버퍼에 있는 내용 읽어옴. 마지막 엔터 남음.
System.out.print("Content:");
String content = sc.nextLine();
dao.insert(new BoardVo(0, MemberService.LoginId, null, title, content));
}
// 2-2. 글 전체목록 - board 테이블 전체검색하여 글번호, 타이틀, 작성자 만 출력.
public void getAll() {
System.out.println("<글 전체 목록>");
ArrayList<BoardVo> list = dao.selectAll();
for (BoardVo vo : list) {
System.out.println("|" + vo.getNum() + "|" + vo.getTitle() + "\t|" + vo.getWriter() + "\t|");
}
}
// 2-3. 글 상세보기 - 글 번호 입력받아서 검색하여 출력
public void getByNum(Scanner sc) {
System.out.println("<글 번호로 검색>");
System.out.print("검색할 글 번호:");
BoardVo vo = dao.select(sc.nextInt()); // db에 검색해서 있으면 vo, 없으면 null 반환.
if (vo == null) {
System.out.println("없는 글입니다.");
} else {
System.out.println(vo);
if (MemberService.LoginId.equals(vo.getWriter())) { // 로그인 한 사람이 작성한 글.
System.out.println("1.수정 2.삭제 3.이전메뉴");
int m = sc.nextInt();
switch (m) {
case 1:
editBoard(sc, vo.getNum());
break;
case 2:
delBoard(vo.getNum());
break;
}
}
}
}
// 2-4. 내 글 수정 -- title, content 수정
public void editBoard(Scanner sc, int num) {
System.out.println("<글 수정>");
sc.nextLine(); // 버퍼에 남은 엔터 제거
System.out.print("new Title:");
String title = sc.nextLine();
System.out.print("new Content");
String content = sc.nextLine();
dao.update(new BoardVo(num, null, null, title, content)); // db에서 글 수정
}
// 2-5. 내 글 삭제
public void delBoard(int num) {
dao.delete(num);
}
// 2-6. 작성자로 검색
public void getByWriter(Scanner sc) {
System.out.println("<작성자 검색>");
System.out.print("writer:");
ArrayList<BoardVo> list = dao.selectByWriter(sc.next());
if (list == null) {
System.out.println("없는 글입니다.");
} else {
}
}
}
// 2-7. 제목으로 검색
<1. 회원관리>
1-1. 회원가입
▼ 나
더보기
- while 무한루프 도는 중 ^^ 아마 break 없어서 그렇지 않을까..
public void join(Scanner sc) {
System.out.println("회원가입");
System.out.print("id:");
String id = sc.next();
MemberVo vo = dao.select(id);
while (vo != null) {
System.out.print("다시 입력해주세요.\nid:");
id = sc.next();
}
vo.setId(id);
System.out.print("pwd:");
vo.setPwd(sc.next());
System.out.print("name:");
vo.setName(sc.next());
System.out.print("email:");
vo.setEmail(sc.next());
vo = new MemberVo(vo.getId(), vo.getPwd(), vo.getName(), vo.getEmail());
dao.insert(vo);
System.out.println("회원가입 되셨습니다.");
}
▼ 강사님
더보기
- set 하면서 이미 vo에 담았기 때문에 또 담을 필요 없음.
- 어차피 루프문을 쓸거면 값을 두 번 받게 코드를 작성할 필요 없음.
public void join(Scanner sc) {
System.out.println("<회원가입>");
MemberVo vo = new MemberVo();
String id = "";
while(true) {
System.out.print("id:");
id = sc.next();
MemberVo m = dao.select(id); //입력받은 id로 바로 검색.
if(m == null) { //반환값이 null이면 중복아님 => 루프나감
break;
} else {
System.out.println("중복된 id. 다시 입력하시오.");
}
}
vo.setId(id);
System.out.print("pwd:");
vo.setPwd(sc.next());
System.out.print("name:");
vo.setName(sc.next());
System.out.print("email:");
vo.setEmail(sc.next());
dao.insert(vo);
System.out.println("회원가입 성공");
}
1-2. 로그인
더보기
- pwd 는 String 이니까 .equals()로 비교해야 함!!!
- == 는 숫자 비교임.
//로그인 한 사람의 아이디 저장. 값이 null이면 로그인 안 한 상태.
public static String LoginId; //다른 클래스에서도 쉽게 접근할 수 있도록 public static.
public void login (Scanner sc) {
System.out.println("<로그인>");
System.out.print("id:");
String id = sc.next();
System.out.print("pwd:");
String pwd = sc.next();
// db id 검색 -> id/pwd 비교
MemberVo vo = dao.select(id);
if (vo == null) {
System.out.println("없는 id 입니다.");
System.out.println("로그인 실패");
} else {
if (vo.getPwd().equals(pwd)) { // 문자열 비교
System.out.println("로그인 성공");
LoginId = id; // 로그인 처리
} else {
System.out.println("pwd가 다릅니다.");
System.out.println("로그인 실패");
}
}
1-3. 로그아웃
더보기
public void logout() {
if(LoginId == null) {
System.out.println("로그인 되지 않았습니다.");
} else {
System.out.println(LoginId + "님께서 로그아웃 하셨습니다.");
LoginId = null;
}
}
1-4. 내 정보 확인
더보기
public void printMyInfo() {
if (LoginId == null) {
System.out.println("로그인 되지 않았습니다.");
} else {
System.out.println("<내 정보 확인>");
System.out.println(dao.select(LoginId));
}
}
1-5. 내 정보 수정
▼ 나
더보기
- id 입력받고 끝남 ㅠㅠㅠ
public void updateMyInfo(Scanner sc) {
MemberVo vo = new MemberVo();
if (LoginId == null) {
System.out.println("로그인 되지 않았습니다.");
} else {
System.out.print("id:");
String id = sc.next();
if (vo.getId().equals(id)) { // 문자열 비교
System.out.println("<내 정보 수정>");
System.out.print("new pwd:");
vo.setPwd(sc.next());
System.out.print("new name:");
vo.setName(sc.next());
System.out.println(dao.select(LoginId));
} else {
System.out.println("id가 다릅니다.");
}
}
}
▼ 강사님
더보기
- 내정보확인 리턴 값을 boolean으로 바꿈. -> 코드 간결해짐.
- 수정을 db에서 함. (update로 값 수정)
public void editMyInfo(Scanner sc) {
System.out.println("<내 정보 수정>");
boolean flag = printMyInfo(); //수정 전 정보 확인
if (flag == false) { // 로그인 상태 아니면 종료
return;
}
System.out.print("new pwd:");
String pwd = sc.next();
System.out.print("new name:");
String name = sc.next();
//db에서 수정
dao.update(new MemberVo(LoginId, pwd, name, ""));
printMyInfo();
}
1-6. 탈퇴
더보기
public void out() {
System.out.println("<탈퇴>");
if (LoginId == null) {
System.out.println("로그인 되지 않았습니다.");
} else {
dao.delete(LoginId);
LoginId = null;
}
}
<2. 게시판>
2-1. 글 작성
더보기
public void addBoard(Scanner sc) {
System.out.println("<글 작성>");
System.out.print("Title:");
String title = sc.nextLine(); // 엔터를 만날 때까지 버퍼에 있는 내용 읽어옴. 마지막 엔터 남음.
System.out.print("Content:");
sc.nextLine(); // 버퍼에 남은 엔터 제거.(초기화)
String content = sc.nextLine();
dao.insert(new BoardVo(0, MemberService.LoginId, null, title, content));
}
2-2. 글 전체목록
더보기
- 반복자 써서 for문 간략하게 하기 & 변수 i 대입 없이 getter 쓸 수 있음.
public void getAll() {
System.out.println("<글 전체 목록>");
ArrayList<BoardVo> list = dao.selectAll();
for (BoardVo vo : list) {
System.out.println("|" + vo.getNum() + "|" + vo.getTitle() + "\t|" + vo.getWriter() + "\t|");
}
}
2-3. 글 상세 (글 번호로 검색)
더보기
// 2-3. 글 상세보기 - 글 번호 입력받아서 검색하여 출력
public void getByNum(Scanner sc) {
System.out.println("<글 번호로 검색>");
System.out.print("검색할 글 번호:");
BoardVo vo = dao.select(sc.nextInt()); // db에 검색해서 있으면 vo, 없으면 null 반환.
if (vo == null) {
System.out.print("없는 글입니다.");
} else {
System.out.println(vo);
if (MemberService.LoginId.equals(vo.getWriter())) { // 로그인 한 사람이 작성한 글.
System.out.println("1.수정 2.삭제 3.이전메뉴");
int m = sc.nextInt();
switch (m) {
case 1:
editBoard(sc, vo.getNum());
break;
case 2:
delBoard(vo.getNum());
break;
}
}
}
}
// 2-4. 내 글 수정
public void editBoard(Scanner sc, int num) {
}
// 2-5. 내 글 삭제
public void delBoard(int num) {
}
2-4. 내 글 수정
더보기
public void editBoard(Scanner sc, int num) {
System.out.println("<글 수정>");
sc.nextLine(); // 버퍼에 남은 엔터 제거
System.out.print("new Title:");
String title = sc.nextLine();
System.out.print("new Content");
String content = sc.nextLine();
dao.update(new BoardVo(num, null, null, title, content)); // db에서 글 수정
}
2-5. 내 글 삭제
더보기
public void delBoard(int num) {
dao.delete(num);
}
2-6. 작성자로 검색
2-7. 제목으로 검색
● Menu
더보기
package boardMain;
import java.util.Scanner;
import board.BoardService;
import member.MemberService;
//메뉴 돌림
public class Menu {
private MemberService mService;
private BoardService bService;
public Menu() {
mService = new MemberService();
bService = new BoardService();
}
public void run(Scanner sc) {
boolean flag = true;
int m = 0;
while(flag) {
System.out.println("Menu\n1.회원관리 2.게시판 3.종료");
m = sc.nextInt();
switch(m) {
case 1:
mrun(sc); //회원관리 하위 메뉴 돌림.
break;
case 2:
brun(sc);
break;
case 3:
System.out.println("프로그램 종료");
flag = false;
}
}
}
//member쪽 메뉴 돌림
public void mrun(Scanner sc) {
boolean flag = true;
int m = 0;
while(flag) {
System.out.println("<회원관리>\n1.회원가입 2.로그인 3.내정보확인 4.내정보수정 5.로그아웃 6.탈퇴 7.이전메뉴");
m = sc.nextInt();
switch(m) {
case 1:
mService.join(sc);
break;
case 2:
mService.login(sc);
break;
case 3:
mService.printMyInfo();
break;
case 4:
mService.editMyInfo(sc);
break;
case 5:
mService.logout();
break;
case 6:
mService.out();
break;
case 7:
flag = false;
}
}
}
//board쪽 메뉴 돌림
public void brun(Scanner sc) {
if(MemberService.LoginId == null) {
System.out.println("게시판 메뉴는 로그인 후 사용 가능");
return;
}
boolean flag = true;
int m = 0;
while(flag) {
System.out.println(" <게시판>\n1.글작성 2.글목록 3.번호검색 4.작성자검색 5.제목검색 6.이전메뉴");
m = sc.nextInt();
switch(m) {
case 1:
bService.addBoard(sc);
break;
case 2:
bService.getAll();
break;
case 3:
bService.getByNum(sc);
break;
case 4:
break;
case 5:
break;
case 6:
flag = false;
}
}
}
}
● Main
더보기
package boardMain;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
Menu m = new Menu();
m.run(sc);
}
}