본문 바로가기

IT일반과목/JDBC

20180831 JDBC 과제




package org.kh.member.view;

import java.util.Scanner;

import org.kh.member.controller.MemberController;
import org.kh.member.model.vo.Member;

//회원 관리 메뉴를 보여주는 View Class
public class MemberMgr {
	private Scanner sc = new Scanner(System.in);
	
	private MemberController mCon = new MemberController();//컨트롤러 객체
	
	// 메인 메뉴 메소드
	public void mainMenu() {
		int choice; 
		do {
		System.out.println("\n= = = = = = = = = = 회원 관리 프로그램 = = = = = = ");
		System.out.println("1. 회원 정보 전체 조회");
		System.out.println("2. 회원 아이디 조회(1명)");
		System.out.println("3. 회원 이름으로 검색(다수)");
		System.out.println("4. 회원 가입");
		System.out.println("5. 회원 정보 변경");
		System.out.println("6. 회원 탈퇴");
		System.out.println("0. 프로그램 종료");
		System.out.print("선택 : ");
		choice = sc.nextInt(); //선택값 choice 변수에 저장

		switch(choice) {
		case 1:mCon.selectMemberAll(); break;
		case 2:
			System.out.print("검색할 ID를 입력 : ");
			mCon.selectMemberId(sc.next()); break;
		case 3:
			System.out.print("검색할 NAME을 입력 : ");
			mCon.selectMemberName(sc.next());
			break;
		case 4:
			Member m=joinMember();//입력받는 전용메소드
			mCon.insertMember(m);//Member m=joinMember();이거랑 같다.
			break;
		case 5:
			System.out.print("변경할 ID를 입력 : ");
			String userId=sc.next();
			Member m1=updateMember();//Member m1=joinMember(); 해도 상관은 없다.
			mCon.updateMember(userId,m1);
			break;
		case 6:
			System.out.print("삭제할 ID를 입력 : ");//삭제할경우 기준을 ID로 잡았다.
			mCon.deleteMember(sc.next());
			break;
		}
		}while(choice!=0);//한번은 무조건 실행될 것이기 때문에 do while로 짰다.
		System.out.println("저희 프로그램을 이용해주셔서 감사합니다. 호구님!");
	}
	
	//회원 가입 정보 입력 메소드
		public Member joinMember() {
			System.out.println("- - - - - -회원 가입 정보 입력 ----");
			System.out.print("아이디 입력 : ");
			String userId=sc.next();
			System.out.print("비밀번호 입력 : ");
			String userPwd = sc.next();
			System.out.print("이름 입력 : ");
			String userName=sc.next();
			System.out.print("성별 입력 : ");
			char gender = sc.next().charAt(0);
			System.out.print("나이 입력 : ");
			int age = sc.nextInt();
			System.out.print("이메일 입력 : ");
			String email = sc.next();
			System.out.print("폰번호 입력(-빼고 입력) : ");
			String phone=sc.next();
			System.out.print("주소 입력 : ");
			sc.nextLine();
			String address = sc.nextLine();
			System.out.print("취미 입력(,로 구분 지어서 입력) : ");
			String hobby = sc.next();
			
			Member m = new Member();
			m.setMemberId(userId);
			m.setMemberPwd(userPwd);
			m.setMemberName(userName);
			m.setGender(gender);
			m.setAge(age);
			m.setEmail(email);
			m.setPhone(phone);
			m.setAddress(address);
			m.setHobby(hobby);
			return m;
		}
		
		
		//회원 가입 정보 입력 메소드랑 똑같은데 이름만 바꾼 것이다.
		public Member updateMember() {
			System.out.println("- - - - - -회원 업데이트 입력 ----");
			System.out.print("아이디 입력 : ");
			String userId=sc.next();
			System.out.print("비밀번호 입력 : ");
			String userPwd = sc.next();
			System.out.print("이름 입력 : ");
			String userName=sc.next();
			System.out.print("성별 입력 : ");
			char gender = sc.next().charAt(0);
			System.out.print("나이 입력 : ");
			int age = sc.nextInt();
			System.out.print("이메일 입력 : ");
			String email = sc.next();
			System.out.print("폰번호 입력(-빼고 입력) : ");
			String phone=sc.next();
			System.out.print("주소 입력 : ");
			sc.nextLine();
			String address = sc.nextLine();
			System.out.print("취미 입력(,로 구분 지어서 입력) : ");
			String hobby = sc.next();
			
			Member m = new Member();
			m.setMemberId(userId);
			m.setMemberPwd(userPwd);
			m.setMemberName(userName);
			m.setGender(gender);
			m.setAge(age);
			m.setEmail(email);
			m.setPhone(phone);
			m.setAddress(address);
			m.setHobby(hobby);
			return m;
		}
		
} 



package org.kh.member.run;

import org.kh.member.view.MemberMgr;

public class RunMain {
	public static void main(String[] args) {
		MemberMgr mgr = new MemberMgr();
		mgr.mainMenu();
		
		
		//new MemberMgr().mainMenu(); //객체 만들자 마자 실행
		//한번만 만들어서 실행하는걸로 challenge방식으로 할 수도 있다.
	}
}




package org.kh.member.model.vo;

import java.sql.Date;

public class Member {
	//ID, PW
	private String memberId;
	private String memberPwd;
	private String memberName;
	private char gender;
	private int age;
	private String email;
	private String phone;
	private String address;
	private String hobby;
	private Date enrollDate; // java.sql.Date import
	
	public Member(String memberId, String memberPwd, String memberName, char gender, int age, String email,
			String phone, String address, String hobby, Date enrollDate) {
		super();
		this.memberId = memberId;
		this.memberPwd = memberPwd;
		this.memberName = memberName;
		this.gender = gender;
		this.age = age;
		this.email = email;
		this.phone = phone;
		this.address = address;
		this.hobby = hobby;
		this.enrollDate = enrollDate;
	}
	
	
	
	
	public Member() {
		super();
		// TODO Auto-generated constructor stub
	}

	
	


	//이렇게 해줄경우 컨트롤러에서 toString을 호출하게끔 할수 있다.
	@Override
	public String toString() {
		
		return 
				this.getMemberId() + "  " +
				this.getMemberPwd() + "  " +
				this.getMemberName() + "  "+ 
				this.getGender() + "  " +
				this.getAge() + "  " +
				this.getEmail() + "  " +
				this.getPhone()+ "  " +
				this.getAddress() + "  " +
				this.getHobby() + "  " +
				this.getEnrollDate();
	}
	

	//alt+shift+s
	public String getMemberId() {
		return memberId;
	}
	
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}
	public String getMemberPwd() {
		return memberPwd;
	}
	public void setMemberPwd(String memberPwd) {
		this.memberPwd = memberPwd;
	}
	public String getMemberName() {
		return memberName;
	}
	public void setMemberName(String memberName) {
		this.memberName = memberName;
	}
	public char getGender() {
		return gender;
	}
	public void setGender(char gender) {
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getHobby() {
		return hobby;
	}
	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
	public Date getEnrollDate() {
		return enrollDate;
	}
	public void setEnrollDate(Date enrollDate) {
		this.enrollDate = enrollDate;
	}
	
	
	
}






package org.kh.member.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import org.kh.member.model.vo.Member;

public class MemberDao {

	//DBMS에 접근하는 전체 회원 조회 메소드
	public ArrayList<Member> selectMemberAll() {

		//필요한 레퍼런스 생성(Connection, Statement, ResultSet)

		//java.sql 패키지 import
		Connection conn = null; //Connection 레퍼런스 (객체 생성은 아직 안함)
		Statement stmt = null; //Statement 래퍼런스 (객체 생성은 아직 안함)
		ResultSet rset=null; //ResultSet 래퍼런스 (객체 생성은 아직 안함)

		ArrayList<Member> list=new ArrayList<Member>();

		//@ JDBC Coding 절차
		try {
			//1. Driver 등록
			Class.forName("oracle.jdbc.driver.OracleDriver");

			//2. DBMS와 연결 (Connection 사용)
			conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe"
					,"member", "member");
			//첫번째는 연결 정보(DB종류, 타입, IP주소, 포트 등등)
			//두번째는 연결하는 DB의 ID(아이디)
			//세번째는 연결하는 ID의 PW(비밀번호)
			//get으로 읽어오는것이므로 저장하는 것이다.conn에 저장하는 것이다.

			System.out.println(conn);
			// conn 레퍼런스 안에 있는 값을 출력시
			// DBMS에 정상연결 되었다면 hashCode 값(Connection 값)이 출력 되고
			// DBMS에 연결 실패 하였다면 null값을 리턴

			//3. Statement 생성 - 작성한 쿼리문을 전송할 객체를 생성 해야 함
			// Connection (conn) 객체를 이용하여 Statement 객체를 생성함
			stmt=conn.createStatement(); // Statement 객체 생성

			//4. SQL 전송
			// - Query 문이 있어야 전송합니다.
			String query = "select * from member";
			rset=stmt.executeQuery(query); // Statement 객체를 이용하여 쿼리문 실행
			//결과를 rset에 담는다.


			//5. 결과 처리
			// rset을 이용하여 결과를 처리함
			// rset.next() 메소드와 rset.set...() 메소드를 이용함
			// next 메소드는 각 행을 가리키는 메소드(작업시 마다 사용해야함)
			// set...() 메소드는 각 컬럼의 정보를 가져올때 사용함

			//rset.next()
			//rset.getString("member_id"); -> rset을 이용해스트링값갖고오는데 그컬럼명은 멤버아이디꺼갖고오라는 것이다.


			while(rset.next()) {
				Member m = new Member();

				//ID값 저장하기
				m.setMemberId(rset.getString("member_id"));
				m.setMemberPwd(rset.getString("member_pwd"));
				m.setMemberName(rset.getString("member_name"));
				m.setGender(rset.getString("gender").charAt(0));
				m.setAge(rset.getInt("age"));
				m.setEmail(rset.getString("email"));
				m.setPhone(rset.getString("phone"));
				m.setAddress(rset.getString("address"));
				m.setHobby(rset.getString("hobby"));
				m.setEnrollDate(rset.getDate("enroll_date"));

				list.add(m);
			}


		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//오라클에 jdbc에 드라이버에 오라클드라이버를 등록하겠다.
		//이코드가 없어도 8버전부턴 가능하긴한데 넣어주는게 좋다.
		catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			//6. 연결된 리소스 닫기 (close 작업 - finally에서 작업)
			try {
				rset.close();
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

		return list;

	}

	public Member selectMemberId(String userId) {

		Connection conn=null;//DBMS와 연결
		Statement stmt=null;//작성한 쿼리문을 전송할 객체를 생성 해야 함
		ResultSet rset=null;//SELECT 구문일 경우 ResultSet을 이용하여 정보를 객체에 담는 처리

		Member m = null; //멤버객체를 여기선 바깥에 만드는데 그 이유는?
		//결과가 조회되던안되던 리턴받을 것이다.

		try {

			//1. Driver 등록
			Class.forName("oracle.jdbc.driver.OracleDriver");

			//2. DBMS 연결
			conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "member", "member");
			//SQLException 에러 뜰수있기 때문에 catch로잡아줘야한다.

			//3. Statement 객체 생성
			// Connection (conn) 객체를 이용하여 Statement 객체를 생성함
			stmt=conn.createStatement();

			//4. SQL 전송
			// - Query 문이 있어야 전송합니다.
			String query="select * from member where member_id='"+userId+"'";
			rset=stmt.executeQuery(query);// Statement 객체를 이용하여 쿼리문 실행

			//5. 결과 처리
			// rset을 이용하여 결과를 처리함
			// rset.next() 메소드와 rset.set...() 메소드를 이용함
			// next 메소드는 각 행을 가리키는 메소드(작업시 마다 사용해야함)
			// set...() 메소드는 각 컬럼의 정보를 가져올때 사용함

			if(rset.next()) {//만약에 1명의 결과가 조회되었다면 진행하고 없다면 하지마라!

				m=new Member();//결과가 있으므로 정보를 저장할 VO 객체 생성
				m.setMemberId(rset.getString("member_id"));
				m.setMemberPwd(rset.getString("member_pwd"));
				m.setMemberName(rset.getString("member_name"));
				m.setGender(rset.getString("gender").charAt(0));
				m.setAge(rset.getInt("age"));
				m.setEmail(rset.getString("email"));
				m.setPhone(rset.getString("phone"));
				m.setAddress(rset.getString("address"));
				m.setHobby(rset.getString("hobby"));
				m.setEnrollDate(rset.getDate("enroll_date"));
			}

		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			//6. 연결된 리소스 닫기 (close 작업 - finally에서 작업)
			try {
				rset.close();
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
		return m; //m래퍼런스 안에 있는 값을 리턴(Member 객체 혹은 null)





	}

	public ArrayList<Member> selectMemberName(String userName) {
		// TODO Auto-generated method stub
		Connection conn=null;
		Statement stmt=null;
		ResultSet rset=null;


		ArrayList<Member> list = new ArrayList<Member>();

		try {
			//1. Driver 등록
			Class.forName("oracle.jdbc.driver.OracleDriver");

			//2. DBMS 연결
			conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe"
					,"member", "member");

			//연결되었는지 확인해볼 것이다.
			System.out.println(conn);

			//3. Statement 객체 생성
			stmt=conn.createStatement();

			//4. SQL 전송
			// - Query 문이 있어야 전송합니다.
			String query="select * from member where member_name like '%"+userName+"%'";
			rset=stmt.executeQuery(query);

			//5. 결과 처리
			//while을 쓴 이유는 값을 저장하기 위해서이다.
			while(rset.next()) {
				Member m = new Member();

				//ID값 저장하기
				m.setMemberId(rset.getString("member_id"));
				m.setMemberPwd(rset.getString("member_pwd"));
				m.setMemberName(rset.getString("member_name"));
				m.setGender(rset.getString("gender").charAt(0));
				m.setAge(rset.getInt("age"));
				m.setEmail(rset.getString("email"));
				m.setAddress(rset.getString("address"));
				m.setPhone(rset.getString("phone"));
				m.setHobby(rset.getString("hobby"));
				m.setEnrollDate(rset.getDate("enroll_date"));

				list.add(m);
			}


		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {

			try {
				rset.close();
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return list;



	}
	//회원 가입용 메소드
	public int insertMember(Member m) {

		//래퍼런스 3종세트
		Connection conn=null;
		Statement stmt=null;
		//ResultSet rset=null; -> 이제 안만들어도된다. select가아니므로 결과값이 돌아올 필요가 없기 때문이다.
		int result=0; //결과를 숫자로 받을려고 한다.

		try {
			//1. Driver 등록
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//2. DBMS 연결
			conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "member", "member");
			//3. Statement 객체 생성
			stmt = conn.createStatement();
			//4. SQL 전송
			String query="insert into member values("+
					"'"+m.getMemberId()+"',"+
					"'"+m.getMemberPwd()+"',"+
					"'"+m.getMemberName()+"',"+
					"'"+m.getGender()+"',"+
					"'"+m.getAge()+"',"+
					"'"+m.getEmail()+"',"+
					"'"+m.getPhone()+"',"+
					"'"+m.getAddress()+"',"+
					"'"+m.getHobby()+"',"+"sysdate)";

			System.out.println(query);
			//stmt.executeQuery(sql) -> select 전용이다.

			//0이넘어오면 정상적으로되었다 하면되고 아니면 정상가입 안되었다고 하면된다.
			result=stmt.executeUpdate(query); //return 타입이 int형이다.

			//commit과 rollback가 없을경우 트랜잭션을 계속 잡고 있게 된다.
			if(result>0) {//정상처리되었을때
				conn.commit(); //적용
			}
			else {
				conn.rollback(); //되돌리기
			}

		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

		return result;
	}

	public int updateMember(String userId,Member m1) {
		//업데이트일 경우 기준을 userId로 둬서 값을 구했다. 
		
		//래퍼런스 3종세트
		Connection conn=null;
		Statement stmt=null;
		//ResultSet rset=null; -> 이제 안만들어도된다. select가아니므로 결과값이 돌아올 필요가 없기 때문이다.
		int result=0;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "member", "member");
			stmt = conn.createStatement();
			
			System.out.println(conn);
			
			String query="update member set member_id="+
			"'"+m1.getMemberId()+"'"+",member_pwd="+
			"'"+m1.getMemberPwd()+"'"+",member_name="+
			"'"+m1.getMemberName()+"'"+",gender="+
			"'"+m1.getGender()+"'"+",age="+
			"'"+m1.getAge()+"'"+",email="+
			"'"+m1.getEmail()+"'"+",phone="+
			"'"+m1.getPhone()+"'"+",address="+
			"'"+m1.getAddress()+"'"+",hobby="+
			"'"+m1.getHobby()+"'"+",enroll_date=sysdate where member_id="+"'"+userId+"'";
			
			
			System.out.println(query);
			
			result=stmt.executeUpdate(query); //return 타입이 int형이다.
		
			//commit과 rollback가 없을경우 트랜잭션을 계속 잡고 있게 된다.
			System.out.println("성공");
			if(result>0) {//정상처리되었을때
				conn.commit(); //적용
			}
			else {
				conn.rollback(); //되돌리기
			}
			
			
			
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				stmt.close();
				conn.close();
				
			
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		
		
		
		return result;
	}

	public int deleteMember(String userId) {
		// TODO Auto-generated method stub
		//래퍼런스 3종세트
		Connection conn=null;
		Statement stmt=null;
		//ResultSet rset=null; -> 이제 안만들어도된다. select가아니므로 결과값이 돌아올 필요가 없기 때문이다.
		int result=0; //결과를 숫자로 받을려고 한다.

		try {

			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "member", "member");

			stmt = conn.createStatement();

			String query="delete from member where member_id='"+userId+"'";

			System.out.println(query);
			//stmt.executeQuery(sql) -> select 전용이다.

			//0이넘어오면 정상적으로되었다 하면되고 아니면 정상가입 안되었다고 하면된다.
			result=stmt.executeUpdate(query); //return 타입이 int형이다.

			//commit과 rollback가 없을경우 트랜잭션을 계속 잡고 있게 된다.
			if(result>0) {//정상처리되었을때
				conn.commit(); //적용
			}
			else {
				conn.rollback(); //되돌리기
			}

		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

		return result;
	}


}




package org.kh.member.controller;

import java.util.ArrayList;

import org.kh.member.dao.MemberDao;
import org.kh.member.model.vo.Member;

public class MemberController {

	// 컨트롤러 클래스의 역할
	// view에서 요청한 기능을 컨트롤러가 DAO와의 연결을 하는 역할

	// 회원 전체출력 메소드
	public void selectMemberAll() {
		MemberDao dao = new MemberDao();
		ArrayList<Member> list = dao.selectMemberAll(); // DAO의 회원 전체 조회 메소드 호출
		// 리턴한 list 결과 상황
		// 1. list 가 있을 때
		// 2. lost 가 없을 때

		if (!list.isEmpty())// .isEmpty =비어있따 // list가 있을 떄
		{

			// 결과출력
			System.out.println("\n----------------- 전체 회원 정보 조회 -----------------\n");
			System.out.println("아이디     비밀번호  이름   성별   나이   이메일   전화번호   주소   취미   가입일");


			//1번째 방식
			for(Member m : list) {
				System.out.println(m);//m만써도된다.
			}


			//2번째 방식
			/*
			for (Member m : list) {
				System.out.println(
						m.getMemberId() + "  " +
						m.getMemberPwd() + "  " +
						m.getMemberName() + "  "+ 
						m.getGender() + "  " +
						m.getAge() + "  " +
						m.getEmail() + "  " +
						m.getPhone()+ "  " +
						m.getAddress() + "  " +
						m.getHobby() + "  " +
						m.getEnrollDate());
			}
			 */


			//3번째 방식
			/*
			 * for (int i = 0; i < list.size(); i++) {
			 * System.out.println(list.get(i).getMemberId() + "  " +
			 * list.get(i).getMemberPwd() + "  " + list.get(i).getMemberName() + "  " +
			 * list.get(i).getGender() + "  " + list.get(i).getAge() + "  " +
			 * list.get(i).getEmail() + "  " + list.get(i).getMemberId() + "  " +
			 * list.get(i).getAddress() + "  " + list.get(i).getHobby() + "  " +
			 * list.get(i).getEnrollDate()); }
			 */

		} else// list가 없을 때
		{
			// 없다고 알려주는 코드
			System.out.println("회원 목록이 없습니다.");
		}

	}

	// 회원 아이디 검색 메소드
	public void selectMemberId(String userId) {//매개변수 낙타표기법으로 썼다.
		//System.out.println("입력받은 문자열 : "+userId);
		MemberDao dao=new MemberDao();
		dao.selectMemberId(userId);//dao를 그대로 dao한테줘서 그걸 DB한테그아이디로 검색하게끔 할것이다.
		Member m = dao.selectMemberId(userId);
		
		if(m!=null) //객체가 있을때(조회가 성공하였을때)
		{
			// 결과출력
			
			System.out.println("\n----------------- 전체 회원 정보 조회 -----------------\n");
			System.out.println("아이디     비밀번호  이름   성별   나이   이메일   전화번호   주소   취미   가입일");
			System.out.println(m);//하나일때는 굳이 m하나만 해주면 된다.
		}
		else //객체가 없을때(조회가 없어서 null이 리턴되었을때)
		{
			System.out.println("해당되는 ID를 가진 회원이 없습니다.");
		}
		
		
		

	}

	// 회원 이름 검색 메소드
	public void selectMemberName(String userName) {
		MemberDao dao = new MemberDao();
		dao.selectMemberName(userName);
		ArrayList<Member> list = dao.selectMemberName(userName); 
		
		if(!list.isEmpty()) {
			System.out.println("\n----------------- 전체 회원 정보 조회 -----------------\n");
			System.out.println("아이디     비밀번호  이름   성별   나이   이메일   전화번호   주소   취미   가입일");

			for(Member m:list) {
				System.out.println(m);
			}
		}else {
			System.out.println("누가없는거 찾으래!");
		}
	}

	// 회원 가입 메소드
	public void insertMember(Member m) {
		// TODO Auto-generated method stub
		MemberDao dao = new MemberDao();
		int result=dao.insertMember(m);
		
		if(result>0) {
			System.out.println("정상적으로 회원가입 되었습니다.");
		}
		else {
			System.out.println("회원 가입에 실패 하였습니다.");
		}
	}

	// 회원 정보 수정 메소드
	public void updateMember(String userId, Member m1) {
		MemberDao dao=new MemberDao();
		int result=dao.updateMember(userId,m1);
		
		if(result>0) {
			System.out.println("정상적으로 업데이트 되었습니다.");
		}
		else {
			System.out.println("업데이트가 실패 하였습니다.");
		}
		
	}

	// 회원 탈퇴 메소드
	public void deleteMember(String userId) {
		MemberDao dao=new MemberDao();
		int result=dao.deleteMember(userId);
		
		if(result>0) {
			System.out.println("정상적으로 탈퇴 되었습니다.");
		}
		else {
			System.out.println("탈퇴가 실패 하였습니다.");
		}
		
	}
}









'IT일반과목 > JDBC' 카테고리의 다른 글

20180831 JDBC 코딩(다른방식의 코딩-2)  (0) 2018.08.31
20180831 JDBC 코딩(다른방식의 코딩-1)  (0) 2018.08.31
20180830 JDBC  (0) 2018.08.30
20180829 JDBC CODING 절차  (0) 2018.08.29
20180828 JDBC개요  (0) 2018.08.28