문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
프로그램: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\\ | ||
+ | 이름 : 홍길동\\ | ||
+ | 회원 수정 성공\\ | ||
+ | 회원목록 조회\\ | ||
+ | 회원번호:< | ||
+ | 회원번호:< | ||
+ | 회원 삭제 성공\\ | ||
+ | </ |