오늘은 어제 배운 데이터베이스 기본 문법을 배운것을 바탕으로 자바에서 어떻게 쓰이는 지에 대해 배웠다. 자바만 할때는 조금 지루한 감이 있었는데 시각적으로 결과가 눈에 보이니까 그래도 조금은 재밌는것같다 :)
https://dev.mysql.com/downloads/connector/j/
JDBC 드라이버를 로딩
JDBC 와 DBMS 연결
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class jdbc1 {
public static void main(String[] args) {
String url = "jdbc:mysql://127.0.0.1/jcp?useSSL=false";
String userid = "DB 이름";
String userpw = "DB 비밀번호";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("드라이버가 로드되었습니다.");
Connection conn = DriverManager.getConnection(url, userid, userpw);
System.out.println("MySQL에 정상적으로 연결되었습니다.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e){
e.printStackTrace();
}
}
}
결과)
출력)
아이디를 입력하세요. apple
비밀번호를 입력하세요. 1111
이름을 입력하세요. 김사과
...
주소를 입력하세요. 서울
상세주소를 입력하세요. 서초구
참고사항을 입력하세요. 201동
회원 가입이 완료 되었습니다!
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
/*
회원가입 프로그램 작성
*/
public class jdbc3 {
public static void main(String[] args) {
String url = "jdbc:mysql://127.0.0.1/jcp?useSSL=false";
String userid = "DB 이름";
String userpw = "DB 비밀번호";
Scanner sc = new Scanner(System.in);
System.out.println("********** 회원가입 **********");
System.out.print("아이디를 입력하세요 >> ");
String mem_userid = sc.next();
System.out.print("비밀번호를 입력하세요 >> ");
String mem_userpw = sc.next();
System.out.print("이름을 입력하세요 >> ");
String mem_name = sc.next();
System.out.print("핸드폰 번호를 입력하세요 >> ");
String mem_hp = sc.next();
System.out.print("이메일을 입력하세요 >> ");
String mem_email = sc.next();
System.out.print("취미를 입력하세요 >> ");
String mem_hobby = sc.next();
System.out.print("주민번호 앞자리를 입력하세요 >> ");
String mem_ssn1 = sc.next();
System.out.print("주민번호 뒷자리를 입력하세요 >> ");
String mem_ssn2 = sc.next();
System.out.print("우편번호를 입력하세요 >> ");
String mem_zipcode = sc.next();
System.out.print("주소를 입력하세요 >> ");
String mem_address1 = sc.next();
System.out.print("상세주소를 입력하세요 >> ");
String mem_address2 = sc.next();
System.out.print("참고사항을 입력하세요 >> ");
String mem_address3 = sc.next();
String sql = "INSERT INTO tb_member (mem_userid, mem_userpw, mem_name, mem_hp, mem_email, mem_hobby, mem_ssn1, mem_ssn2, \n" +
"mem_zipcode, mem_address1, mem_address2, mem_address3) VALUES ('"+mem_userid+"', '"+mem_userpw+"', " +
"'"+mem_name+"', '"+ mem_hp+"', \n" + "'"+mem_email+"', '"+mem_hobby+"', '"+mem_ssn1+"', '"+mem_ssn2+"', '"+mem_zipcode+"', " +
"'"+mem_address1+"', '"+mem_address2+"', '"+mem_address3+"')";
// System.out.println(sql);
try{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, userid, userpw); // DBMS에 로그인 시키기
Statement stmt = conn.createStatement(); // SQL 실행하는 녀석
int result = stmt.executeUpdate(sql);
if(result >= 1) System.out.println("회원가입이 완료되었습니다!");
else System.out.println("회원가입에 실패하였습니다!");
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
}
}