====== Ch.20 데이터베이스 ====== =====데이터베이스 개요===== =====데이터베이스 구조===== =====MariaDB 설치===== https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.6.5&os=windows&cpu=x86_64&pkg=msi&m=yongbok =====기본 SQL===== =====자바 연결===== 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("org.mariadb.jdbc.Driver"); // 데이터베이스 접속 conn = DriverManager.getConnection( "jdbc:mariadb://localhost:3306/javadb", // Host "root", // 사용자 "java1234"); // 암호 } catch (ClassNotFoundException e) { System.out.println(e.getMessage()); } catch (SQLException e) { System.out.println(e.getMessage()); } finally { if (conn != null) try {conn.close();} catch(Exception e) {} } if (conn != null) { System.out.println("데이터베이스 접속"); } } } =====데이터 조회 / 처리===== **MemberVO.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** 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("org.mariadb.jdbc.Driver"); // 데이터베이스 접속 conn = DriverManager.getConnection( "jdbc:mariadb://localhost:3306/javadb", // Host "root", // 사용자 "java1234"); // 암호 } 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 = "INSERT INTO member (memberno, id, name) " + "VALUES ("+vo.getMemberno()+", '"+vo.getId()+"', '" + 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 = "SELECT * FROM member WHERE memberno="+memberno; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); if (rs.next()) { vo.setMemberno(rs.getInt("memberno")); vo.setId(rs.getString("id")); vo.setName(rs.getString("name")); } } catch (SQLException e) { System.out.println(e.getMessage()); } return vo; } // 데이터 수정 public int update(MemberVO vo) { int result = 0; try { String sql = "UPDATE member SET id='" + vo.getId()+"', name='"+vo.getName()+"' " + "WHERE memberno="+vo.getMemberno(); 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 = "DELETE FROM member WHERE memberno="+memberno; stmt = conn.createStatement(); result = stmt.executeUpdate(sql); } catch (SQLException e) { System.out.println(e.getMessage()); } return result; } // 회원목록 public List list() { List list = new ArrayList(); try { String sql = "SELECT * FROM member"; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); 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 (SQLException e) { System.out.println(e.getMessage()); } return list; } // 자원 close() public void close() { if (conn != null) { try { conn.close(); } catch (SQLException e) {} } if (stmt != null) { try { stmt.close(); } catch (SQLException e) {} } if (rs != null) { try { rs.close(); } catch (SQLException e) {} } } } **MemberMain.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("hong"); 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("회원번호 : "+rvo.getMemberno()); System.out.println("아이디 : "+rvo.getId()); System.out.println("이름 : "+rvo.getName()); // 회원정보 수정 vo.setName("고길동"); int r2 = dao.update(vo); if (r2 > 0) { System.out.println("회원 수정 성공"); } // 전체회원 목록 조회 System.out.println("회원목록 조회"); List list = dao.list(); for (int i=0; i 0) { System.out.println("회원 삭제 성공"); } // 자원 해제 dao.close(); } } ++++[실행결과]| 회원 등록 성공\\ 회원정보 출력\\ 회원번호 : 2\\ 아이디 : hong\\ 이름 : 홍길동\\ 회원 수정 성공\\ 회원목록 조회\\ 회원번호:1 아이디:kim 이름:김유신\\ 회원번호:2 아이디:hong 이름:고길동\\ 회원 삭제 성공\\ ++++