
- JDBC (Java Database Connectivity)
자바에서 DB 소프트웨어와 연결하여 프로그램을 개발하기 위해 사용하는 API이다.
자바 애플리케이션 <-----------------> JDBC API <-----------------> JDBC Driver <-----------------> MYSQL
이런 식으로 중간다리 역할을 해주어서 Java에서도 바로 SQL문을 작성해서 DB에 삽입, 수정, 조회 등을 가능하게 해 준다.
- JDBC Driver 다운로드
https://dev.mysql.com/downloads/connector/j/
MySQL :: Download Connector/J
MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL Connector/J 8.0.
dev.mysql.com
위 링크에 접속해 PlatForm Independent 선택
Zip 파일을 다운로드하고, 압축을 풀어 mysql-connector-j-8.0.31.jar 파일을 원하는 디렉터리에 저장하면 끝이다!
- 인텔리제이에서 JDBC 드라이버 추가
file -> project Structure -> Library -> +클릭 -> java 선택 -> 디렉터리에서 jar파일 선택하고 적용하면 Extenal Libraries에 추가된 것을 확인할 수 있다.
- JDBC API를 통해 DBMS와 연결
1. JDBC Driver를 로딩
Class.forName("JDBC 드라이버 패키지명");
Class.forName("com.mysql.cj.jdbc.Driver");
2. JDBC API와 DBMS 연결
DriverManager.getConnection(주소, 아이디, 비밀번호);
// 연결을 성공하면 Connection 객체 생성
주소 : jdbc:mysql: //IP주소/db명?useSSL=true
여기서 ip주소는 초록창에서 내 ip주소를 입력하면 나온다.
jdbc 사용해보기!!
mysql에 만든 tb_member에 새로운 멤버 추가하기
package day11;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public static void main(String[] args) {
String url = "jdbc:mysql://192.168.0.10/devwork?useSSL=false";
//[ip주소 / localhost:포트번호]
String userid = "biblia";
String userpw = "0214";
String sql = "INSERT INTO tb_member (mem_userid, mem_userpw, mem_name, mem_hp, mem_email, mem_hobby, mem_ssn1, mem_ssn2, mem_zipcode, mem_address1, mem_address2, mem_address3, mem_point, mem_gender) " +
"values ('lemon', '6666','이레몬', '010-6666-6666', 'lemon@lemon.com', '음악듣기','000101','1234567','12345','서울시','강남구','역삼동','100','남자');";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, userid, userpw);
Statement stmt = conn.createStatement();
int cnt = stmt.executeUpdate(sql);
if(cnt == 1) System.out.println("멤버 입력 완료!");
else System.out.println("입력에 실패했습니다.. 다시 확인 해주세요...");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
자바에서 SQL문을 바로 작성하면 어디서 오류가 나는지 확인하기 힘들기 때문에 mysql에서 작성해서 확인하고 그것을 자바에 넣는 것이 좋다!!!!
위에 자바 코드에서 문자열 sql에 입력한 부분이 잘 들어간 것을 확인할 수 있다.
사용한 계정의 권한이 localhost여서 localhost:port번호로 연결 해 주었다.
'국비 > JAVA' 카테고리의 다른 글
DAY 12 : 싱글톤 패턴, DB관련 인터페이스, DTO, DAO (0) | 2022.10.28 |
---|---|
DAY 10 : 스레드(Thead) (0) | 2022.10.21 |
DAY 09 - 2 : 파일 입출력 (0) | 2022.10.13 |
DAY 09 - 1: 중첩 클래스, 예외 처리 (0) | 2022.10.12 |
DAY 08 - 2 : 컬렉션 프레임워크 (Set, Map) (0) | 2022.10.12 |