문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
프로그램:java:ㄴhomework:book_source:ch20 [2022/01/04 11:33] clayeryan@gmail.com 만듦 |
프로그램:java:ㄴhomework:book_source:ch20 [2025/06/27 16:07] (현재) |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| - | ====== | + | ====== |
| + | =====데이터베이스 개요===== | ||
| + | |||
| + | =====데이터베이스 구조===== | ||
| + | |||
| + | =====MariaDB 설치===== | ||
| + | |||
| + | https:// | ||
| + | =====기본 SQL===== | ||
| + | |||
| + | =====자바 연결===== | ||
| + | <code java> | ||
| + | package chapter20; | ||
| + | |||
| + | import java.sql.Connection; | ||
| + | import java.sql.DriverManager; | ||
| + | import java.sql.SQLException; | ||
| + | |||
| + | public class DBConnect { | ||
| + | |||
| + | public static void main(String[] args) { | ||
| + | |||
| + | // 데이터베이스 접속 객체 | ||
| + | Connection conn = null; | ||
| + | |||
| + | try { | ||
| + | // MariaDB 드라이버 로드 | ||
| + | Class.forName(" | ||
| + | // 데이터베이스 접속 | ||
| + | conn = DriverManager.getConnection( | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | } catch (ClassNotFoundException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } catch (SQLException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } finally { | ||
| + | if (conn != null) try {conn.close(); | ||
| + | } | ||
| + | |||
| + | if (conn != null) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | =====데이터 조회 / 처리===== | ||
| + | **MemberVO.java** | ||
| + | <code java> | ||
| + | package chapter20; | ||
| + | |||
| + | 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; | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | </ | ||
| + | **MemberDAO.java** | ||
| + | <code java> | ||
| + | package chapter20; | ||
| + | |||
| + | 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 java.util.List; | ||
| + | |||
| + | public class MemberDAO { | ||
| + | |||
| + | // 데이터베이스 접속 객체 | ||
| + | Connection conn = null; | ||
| + | Statement stmt = null; | ||
| + | ResultSet rs = null; | ||
| + | |||
| + | // 데이터베이스 접속 | ||
| + | public MemberDAO() { | ||
| + | |||
| + | try { | ||
| + | // MariaDB 드라이버 로드 | ||
| + | Class.forName(" | ||
| + | // 데이터베이스 접속 | ||
| + | conn = DriverManager.getConnection( | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | } catch (ClassNotFoundException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } catch (SQLException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | // 데이터 입력 | ||
| + | public int insert(MemberVO vo) { | ||
| + | |||
| + | int result = 0; | ||
| + | try { | ||
| + | String sql = " | ||
| + | + " | ||
| + | + vo.getName()+"' | ||
| + | stmt = conn.createStatement(); | ||
| + | result = stmt.executeUpdate(sql); | ||
| + | } catch (SQLException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } | ||
| + | return result; | ||
| + | } | ||
| + | |||
| + | // 데이터 조회 | ||
| + | public MemberVO selectOne(int memberno) { | ||
| + | |||
| + | MemberVO vo = new MemberVO(); | ||
| + | try { | ||
| + | String sql = " | ||
| + | stmt = conn.createStatement(); | ||
| + | rs = stmt.executeQuery(sql); | ||
| + | |||
| + | if (rs.next()) { | ||
| + | vo.setMemberno(rs.getInt(" | ||
| + | vo.setId(rs.getString(" | ||
| + | vo.setName(rs.getString(" | ||
| + | } | ||
| + | } catch (SQLException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } | ||
| + | return vo; | ||
| + | } | ||
| + | |||
| + | // 데이터 수정 | ||
| + | public int update(MemberVO vo) { | ||
| + | |||
| + | int result = 0; | ||
| + | try { | ||
| + | String sql = " | ||
| + | + vo.getId()+"', | ||
| + | + "WHERE memberno=" | ||
| + | stmt = conn.createStatement(); | ||
| + | result = stmt.executeUpdate(sql); | ||
| + | } catch (SQLException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } | ||
| + | return result; | ||
| + | } | ||
| + | |||
| + | // 데이터 삭제 | ||
| + | public int delete(int memberno) { | ||
| + | |||
| + | int result = 0; | ||
| + | try { | ||
| + | String sql = " | ||
| + | stmt = conn.createStatement(); | ||
| + | result = stmt.executeUpdate(sql); | ||
| + | } catch (SQLException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } | ||
| + | return result; | ||
| + | } | ||
| + | |||
| + | // 회원목록 | ||
| + | public List< | ||
| + | List< | ||
| + | |||
| + | try { | ||
| + | String sql = " | ||
| + | stmt = conn.createStatement(); | ||
| + | rs = stmt.executeQuery(sql); | ||
| + | |||
| + | while (rs.next()) { | ||
| + | MemberVO vo = new MemberVO(); | ||
| + | vo.setMemberno(rs.getInt(" | ||
| + | vo.setId(rs.getString(" | ||
| + | vo.setName(rs.getString(" | ||
| + | list.add(vo); | ||
| + | } | ||
| + | } catch (SQLException e) { | ||
| + | System.out.println(e.getMessage()); | ||
| + | } | ||
| + | return list; | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | // 자원 close() | ||
| + | public void close() { | ||
| + | if (conn != null) { | ||
| + | try { conn.close(); | ||
| + | } | ||
| + | if (stmt != null) { | ||
| + | try { stmt.close(); | ||
| + | } | ||
| + | if (rs != null) { | ||
| + | try { rs.close(); } catch (SQLException e) {} | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | **MemberMain.java** | ||
| + | <code java> | ||
| + | package chapter20; | ||
| + | |||
| + | import java.util.List; | ||
| + | |||
| + | public class MemberMain { | ||
| + | |||
| + | public static void main(String[] args) { | ||
| + | |||
| + | // 회원객체 생성 | ||
| + | MemberVO vo = new MemberVO(); | ||
| + | vo.setMemberno(2); | ||
| + | vo.setId(" | ||
| + | vo.setName(" | ||
| + | |||
| + | // dao 객체 생성 | ||
| + | MemberDAO dao = new MemberDAO(); | ||
| + | |||
| + | // 회원 추가 | ||
| + | int r = dao.insert(vo); | ||
| + | if (r > 0) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | |||
| + | // 2번 회원 조회후 출력 | ||
| + | MemberVO rvo = dao.selectOne(2); | ||
| + | System.out.println(" | ||
| + | System.out.println(" | ||
| + | System.out.println(" | ||
| + | System.out.println(" | ||
| + | |||
| + | // 회원정보 수정 | ||
| + | vo.setName(" | ||
| + | int r2 = dao.update(vo); | ||
| + | if (r2 > 0) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | |||
| + | // 전체회원 목록 조회 | ||
| + | System.out.println(" | ||
| + | List< | ||
| + | for (int i=0; i< | ||
| + | System.out.println(" | ||
| + | +" | ||
| + | +" | ||
| + | } | ||
| + | |||
| + | |||
| + | // 회원 삭제 | ||
| + | int r3 = dao.delete(2); | ||
| + | if (r3 > 0) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | |||
| + | |||
| + | // 자원 해제 | ||
| + | dao.close(); | ||
| + | |||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | ++++[실행결과]| | ||
| + | <WRAP box> | ||
| + | 회원 등록 성공\\ | ||
| + | 회원정보 출력\\ | ||
| + | 회원번호 : <color # | ||
| + | 아이디 : hong\\ | ||
| + | 이름 : 홍길동\\ | ||
| + | 회원 수정 성공\\ | ||
| + | 회원목록 조회\\ | ||
| + | 회원번호:< | ||
| + | 회원번호:< | ||
| + | 회원 삭제 성공\\ | ||
| + | </ | ||
별도로 명시하지 않을 경우, 이 위키의 내용은 다음 라이선스에 따라 사용할 수 있습니다: CC Attribution-Share Alike 4.0 International