====== 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 이름:고길동\\
회원 삭제 성공\\
++++