250x250
Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

개린이 개발노트

국비지원 JAVA(자바) 프로그래밍(자바, MariaDB, 마리아디비 ) 본문

국비지원(국비교육) 웹 개발자 과정

국비지원 JAVA(자바) 프로그래밍(자바, MariaDB, 마리아디비 )

개린이9999 2022. 12. 13. 09:21
728x90

MariaDB에 미리 데이터를 만들어놓는다. 

일단 확인만 할겸 이렇게 코드를 만듦.

밑의 자바 코드를 통해서 

 

package DB2;

public class MemberVO {

	 private int memberno;
	 private String id;
	 private String name;
	public int getMemberno() {
		return memberno;
	}
	public void setMemberno(int memberno) {
		this.memberno = memberno;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	 
	 
}

 

package DB2;

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

	Connection conn = null;
	PreparedStatement pstmt = null;
	ResultSet rs = null;

	public MemberDAO() {
		try {
			Class.forName("org.mariadb.jdbc.Driver");

			conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/javadb", "root", "java1234");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 전체 레코드를 조회하는 메서드
	public List<MemberVO> list() {
		List<MemberVO> list = new ArrayList<>();

		try {
			String sql = "select * from member";

			pstmt = conn.prepareStatement(sql);
			rs = pstmt.executeQuery();

			while (rs.next()) {
				MemberVO vo = new MemberVO();

				vo.setMemberno(rs.getInt("memberno"));
				vo.setId(rs.getString("id"));
				vo.setName(rs.getString("name"));

				list.add(vo);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

		return list;
	}

	public void insert(MemberVO vo) {
		try {
			String sql = "insert into member values(?,?,?)";

			pstmt = conn.prepareStatement(sql);

			pstmt.setInt(1, vo.getMemberno()); // vo에 getMemberno를 받아와서 설정해라.
			pstmt.setString(2, vo.getId());	// 데이터문에 바로 연동
			pstmt.setString(3, vo.getName());

			rs = pstmt.executeQuery();
			System.out.println("회원 등록 성공!");

		} catch (Exception e) {
			System.out.println("회원 등록 실패! ");
			e.printStackTrace();
		}
	}

}
package DB2;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      
      Scanner sc = new Scanner(System.in);
      MemberDAO dao = new MemberDAO();
      
      int menu;   //메뉴선택한 번호 저장 변수
      
      System.out.println("=====회원관리 프로그램=====");
      
      while(true) {
         System.out.print("메뉴선택  [1.회원목록 2.회원등록]");
         menu = sc.nextInt();
         
         switch(menu) {
         case 1:
            List<MemberVO> list = new ArrayList<>();   //리턴된 컬렉션을 저장하는 공간
            list = dao.list();   //메서드 호출 결과를 list에 저장
            
            for(int i =0 ; i<list.size();i++) {
               System.out.print("번호 : "+list.get(i).getMemberno()+"\t");
               System.out.print("아이디 : "+list.get(i).getId()+"\t");
               System.out.println("이름 : "+list.get(i).getName()+"\t");
            }
         case 2:
        	 MemberVO vo= new MemberVO();
        	 System.out.println("회원등록을 시작합니다.");
        	 System.out.println("회원 번호:");
        	 vo.setMemberno(sc.nextInt());
        	 System.out.println("아이디: ");
        	 vo.setId(sc.next());
        	 System.out.println("이름: ");
        	 vo.setName(sc.next());
        	 
        	 dao.insert(vo); // insert메서드 
        	 
        	 break;
            
            
            
         }
         
      }
      
   }

}

결과값.

 

=====회원관리 프로그램=====
메뉴선택  [1.회원목록 2.회원등록]2
회원등록을 시작합니다.
회원 번호:
12
아이디: 
asd
이름: 
asdasdas
회원 등록 성공!
메뉴선택  [1.회원목록 2.회원등록]1
번호 : 1 아이디 : 홍길동 이름 : 홍길
번호 : 2 아이디 : 홍길동 이름 : 홍길
번호 : 3 아이디 : 홍길동 이름 : 홍길
번호 : 4 아이디 : 홍길동 이름 : 홍길
번호 : 5 아이디 : 홍길동 이름 : 홍길
번호 : 6 아이디 : 홍길동 이름 : 홍길
번호 : 12 아이디 : asd 이름 : asdasdas
회원등록을 시작합니다.
회원 번호:

 

자바를 통해서 마리아디비에 새로운 데이터를 추가했다.


이번엔 자바를 통해서 마리에 디비에 있는 데이터를 수정하기 

member넘버를 입력받고 그 입력받은 값의 id와 name 수정하기! 

package DB2;

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

	Connection conn = null;
	PreparedStatement pstmt = null;
	ResultSet rs = null;

	public MemberDAO() {
		try {
			Class.forName("org.mariadb.jdbc.Driver");

			conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/javadb", "root", "java1234");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 전체 레코드를 조회하는 메서드
	public List<MemberVO> list() {
		List<MemberVO> list = new ArrayList<>();

		try {
			String sql = "select * from member";

			pstmt = conn.prepareStatement(sql);
			rs = pstmt.executeQuery();

			while (rs.next()) {
				MemberVO vo = new MemberVO();

				vo.setMemberno(rs.getInt("memberno"));
				vo.setId(rs.getString("id"));
				vo.setName(rs.getString("name"));

				list.add(vo);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

		return list;
	}

	public void insert(MemberVO vo) {
		try {
			String sql = "insert into member values(?,?,?)";

			pstmt = conn.prepareStatement(sql);

			pstmt.setInt(1, vo.getMemberno()); // vo에 getMemberno를 받아와서 설정해라.
			pstmt.setString(2, vo.getId());	// 데이터문에 바로 연동
			pstmt.setString(3, vo.getName());

			rs = pstmt.executeQuery();
			System.out.println("회원 등록 성공!");

		} catch (Exception e) {
			System.out.println("회원 등록 실패! ");
			e.printStackTrace();
		}
	}
		
		
		public void update (MemberVO vo) {
			try {
				String sql = "update member set id=?,name=? where memberno=?";

				pstmt = conn.prepareStatement(sql);

				pstmt.setString(1, vo.getId());
				pstmt.setString(2, vo.getName());
				pstmt.setInt(3, vo.getMemberno()); // vo에 getMemberno를 받아와서 설정해라.
				

				rs = pstmt.executeQuery();
				System.out.println("회원 정보 수정 성공!");

			} catch (Exception e) {
				System.out.println("회원 정보 수정 실패! ");
				e.printStackTrace();
			}
	}

}
package DB2;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      
      Scanner sc = new Scanner(System.in);
      MemberDAO dao = new MemberDAO();
      
      int menu;   //메뉴선택한 번호 저장 변수
      
      System.out.println("=====회원관리 프로그램=====");
      
      while(true) {
         System.out.print("메뉴선택  [1.회원목록 2.회원등록 3.회원수정]");
         menu = sc.nextInt();
         
         switch(menu) {
         case 1:
            List<MemberVO> list = new ArrayList<>();   //리턴된 컬렉션을 저장하는 공간
            list = dao.list();   //메서드 호출 결과를 list에 저장
            
            for(int i =0 ; i<list.size();i++) {
               System.out.print("번호 : "+list.get(i).getMemberno()+"\t");
               System.out.print("아이디 : "+list.get(i).getId()+"\t");
               System.out.println("이름 : "+list.get(i).getName()+"\t");
            }
         case 2:
        	 MemberVO vo= new MemberVO();
        	 System.out.println("회원등록을 시작합니다.");
        	 System.out.println("회원 번호:");
        	 vo.setMemberno(sc.nextInt());
        	 System.out.println("아이디: ");
        	 vo.setId(sc.next());
        	 System.out.println("이름: ");
        	 vo.setName(sc.next());
        	 
        	
        	 dao.insert(vo); // insert메서드 
        	 
         case 3: vo= new MemberVO();
    	 System.out.println("회원수정을 시작합니다.");
    	 System.out.println("수정할 번호 입력:");
    	 vo.setMemberno(sc.nextInt());
    	 System.out.println("아이디 변경: ");
    	 vo.setId(sc.next());
    	 System.out.println("이름 변경: ");
    	 vo.setName(sc.next());
         
    	 dao.update(vo);	 
    	 break;
            
         }
         
      }
      
   }

}

memberno 2번에 있는 id 와 name 이 모두 asd asd로 바뀐것을 확인할 수있다! 


메뉴선택[1.회원목록   2.회원등록  3.회원정보수정  4.회원정보삭제  5.회원정보조회  6.프로그램종료] 까지 만들기

package DB2;

public class MemberVO {

	 private int memberno;
	 private String id;
	 private String name;
	
	 public int getMemberno() {
		return memberno;
	}
	public void setMemberno(int memberno) {
		this.memberno = memberno;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	 
	 
}
package DB2;

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 MemberDAO {
   
   //PreparedStatement 기능확장 (재사용면에서 매우 편리함) / 단점으로는 코드가 길어짐
   
   
   
   Connection conn = null;
   PreparedStatement pstmt = null; 
   ResultSet rs = null;
   
   //생성자
   public MemberDAO() {
      try { //마리아db 데이터베이스에 연결
         Class.forName("org.mariadb.jdbc.Driver");
         
         conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/javadb", "root", "java1234");
      } catch (Exception e) {
         e.printStackTrace(); // Driver를 못 찾았을때 예외처리
      }
   }
   
   /**메서드 생성*/
   
   //전체 레코드를 조회하는 메서드
   public List<MemberVO> list() { //객체들을 보관하기 위한 List 컬렉션 생성 (추가, 삭제 등으로 위한 컬레션을 사용하는게 좋음)
      List<MemberVO> list = new ArrayList<>(); //list에 담겨 있는 VO객체를 Main으로 보내 최종 작업
      
      try {
         String sql = "select * from member";
         
         pstmt = conn.prepareStatement(sql);
         rs = pstmt.executeQuery(); //
         
         while(rs.next()) {
      
                     
            MemberVO vo = new MemberVO(); //빈 객체를 위에 list에 넣어줄 려고
            
            //set으로 호출 -> get으로 값을 MemberVO 클래스에 값을 보내 보관
            //VO 객체에 멤버변수가 저장
            vo.setMemberno(rs.getInt("memberno")); 
            vo.setId(rs.getString("id"));
            vo.setName(rs.getString("name"));
            
            list.add(vo); //list에 다음값이 있을때 까지 반복해서 객체를 넣는다.
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
      return list;
   }
   
   //insert 삽입 메서드
   public void insert(MemberVO vo) {
      
      try {
         //PreparedStatement를 이용하면 기존에 난잡한 수식이 아닌 ? <--로 표기 가능
         //괄호안에 ? 개수는 필드개수와 동일
         String sql = "insert into member values(?, ?, ?)"; 
         pstmt = conn.prepareStatement(sql);
         
         //vlaues(?, ?, ?) <-- 이 안에 어떤 값을 넣을지 설정
         pstmt.setInt(1, vo.getMemberno());
         pstmt.setString(2, vo.getId());
         pstmt.setString(3, vo.getName());
         
         rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
         System.out.println("회원 등록 성공!");
         
      } catch (Exception e) {
         System.out.println("회원 등록 실패");
         e.printStackTrace();
      }
      
   }
   
   //update 수정 메서드
   
   public void update(MemberVO vo) {
      
      try { //UPDATE member SET id='qwer' WHERE memberno=1
         String sql = "update member set id=?, name=? where memberno=?"; 
         pstmt = conn.prepareStatement(sql);
         
      
         pstmt.setString(1, vo.getId());
         pstmt.setString(2, vo.getName());
         pstmt.setInt(3, vo.getMemberno());
         
         
         rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
         System.out.println("회원 정보 수정 완료!");
         
   
         
      } catch (Exception e) {
         System.out.println("회원 정보 수정 오류");
         e.printStackTrace();
      }
   }
   
   //delete 삭제 메서드

      public void delete(int vod) {
      
      try { //DELETE FROM member WHERE memberno=2
         String sql = "delete from member where memberno=?"; 
         pstmt = conn.prepareStatement(sql);
         
      
         pstmt.setInt(1, vod);
         
         
         rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
         System.out.println("회원 정보 삭제 완료!");
         
   
         
      } catch (Exception e) {
         System.out.println("회원 정보 삭제 오류");
         e.printStackTrace();
      }
   }
      
   //select 조회 메서드
   //pstmt = conn.prepareStatement(spl);   //데이터 베이스로 spl를 보냄 spl은 위에 입력된 코드
      
      public List<MemberVO> select(int no) {
         List<MemberVO> list = new ArrayList<>(); //select 저장용 컬레션
         
         try { //select 필드명, 필드명, from 테이블명
            String sql = "select * from member where memberno=?"; 
            pstmt = conn.prepareStatement(sql);
            
            pstmt.setInt(1, no);
            

            
            rs = pstmt.executeQuery(); //위에서 실행된 결과를 rs에 저장
            
            while(rs.next()) {
               MemberVO vo = new MemberVO();
               vo.setMemberno(rs.getInt("memberno"));
               vo.setId(rs.getString("id"));
               vo.setId(rs.getString("name"));
               
               list.add(vo);
               
               
            }
            
            System.out.println("회원 정보 조회 완료!");
            
            
         } catch (Exception e) {
            System.out.println("회원 정보 조회 오류");
            e.printStackTrace();
         }
         
         return list;
         

      }
   

}
package DB2;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      
      Scanner sc = new Scanner(System.in); //입력문
      MemberDAO dao = new MemberDAO(); //DAO메서드를 가져다 쓰기 위해 객체 생성
      int menu; //입력한 메뉴 번호 저장 변수
      
      System.out.println("===회원관리 프로그램===");
      
      while(true) {
         System.out.print("메뉴선택[1.회원목록   2.회원등록  3.회원정보수정  4.회원정보삭제  5.회원정보조회  6.프로그램종료]");
         menu = sc.nextInt();
         
         if(menu == 6) {
            System.out.println("프로그램을 종료 합니다.");
            break;
         }

         
         switch(menu) {
         
            case 1: //조회
               List<MemberVO> list = new ArrayList<>(); // return된 컬렉션을 저장하는 공간
               list = dao.list(); // 메서드 호출 결과를 list에 저장
               
               //위 컬렉션을 이렇게 한번에 코드입력도 가능List<MemberVO> list = dao.list();
               
               for(int i = 0; i < list.size(); i++) {
                  System.out.print("번호 : " + list.get(i).getMemberno() + "\t");
                  System.out.print("아이디 : " + list.get(i).getId() + "\t");
                  System.out.println("이름 : " + list.get(i).getName());
                  
               }
               break;
               
            case 2 : //추가
               MemberVO vo = new MemberVO(); //객체 생성
               
               System.out.println("회원 등록을 시작합니다.");
               
               System.out.println("회원 번호 : ");
               vo.setMemberno(sc.nextInt());
               
               System.out.println("회원 아이디 : ");
               vo.setId(sc.next());
               
               System.out.println("회원 이름 : ");
               vo.setName(sc.next());
               
               dao.insert(vo);
               break;
               
            case 3 : //수정
               vo = new MemberVO();
               
               System.out.println("회원 정보를 수정합니다.");
               
               System.out.println("회원 번호 수정 : ");
               vo.setMemberno(sc.nextInt());
               
               System.out.println("회원 아이디 수정 : ");
               vo.setId(sc.next());
               
               System.out.println("회원 이름 수정 : ");
               vo.setName(sc.next());
               
               dao.update(vo);
               break;
               
            
            case 4 : //삭제
               
               
               System.out.println("회원 정보를 삭제합니다.");
               
               System.out.println("삭제할 회원 번호 : ");
               dao.delete(sc.nextInt());
               break;
               
            case 5 : //조회
               
               
               System.out.println("회원 정보를 조회합니다.");
               
               System.out.println("조회할 회원 번호 : ");
               List<MemberVO> sList = dao.select(sc.nextInt());
               
               if(sList.isEmpty()) {//빈 컬렉션인지 물어보는 메서드
                  System.out.println("해당 회원이 없음");
               } else {
                  
               }
                  
               for(int i = 0; i < sList.size(); i++) {
                  
                  System.out.print("번호 : " + sList.get(i).getMemberno() + "\t");
                  System.out.print("아이디 : " + sList.get(i).getId() + "\t");
                  System.out.println("이름 : " + sList.get(i).getName());
                  
               }
               break;

            default :    
                 System.out.println("잘못 입력하셨습니다.");
         
         }
         
         
      }

   }

}

 

728x90