nme.kr

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
프로그램: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:
-====== Chapter20 데이터베이스 ======+====== 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=====
 +
 +=====자바 연결=====
 +<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("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("데이터베이스 접속");
 + }
 + }
 +}
 +
 +</code>
 +=====데이터 조회 / 처리=====
 +**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;
 + }
 +
 +}
 +
 +</code>
 +**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("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<MemberVO> list() {
 + List<MemberVO> list = new ArrayList<MemberVO>();
 +
 + 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) {}
 + }
 + }
 +}
 +
 +</code>
 +**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("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<MemberVO> list = dao.list();
 + for (int i=0; i<list.size(); i++) {
 + System.out.println("회원번호:"+list.get(i).getMemberno()
 + +"\t아이디:"+list.get(i).getId()
 + +"\t이름:"+list.get(i).getName());
 + }
 +
 +
 + // 회원 삭제
 + int r3 = dao.delete(2);
 + if (r3 > 0) {
 + System.out.println("회원 삭제 성공");
 + }
 +
 +
 + // 자원 해제
 + dao.close();
 +
 + }
 +
 +}
 +
 +</code>
 +
 +++++[실행결과]|
 +<WRAP box>
 +회원 등록 성공\\ 
 +회원정보 출력\\ 
 +회원번호 : <color #7401DF>2</color>\\ 
 +아이디 : hong\\ 
 +이름 : 홍길동\\ 
 +회원 수정 성공\\ 
 +회원목록 조회\\ 
 +회원번호:<color #7401DF>1</color>     아이디:kim     이름:김유신\\ 
 +회원번호:<color #7401DF>2</color>     아이디:hong     이름:고길동\\ 
 +회원 삭제 성공\\ 
 +</WRAP>++++