[DB] JDBC란?(MySQL 기준)
@욕심쟁이
·2020. 8. 20. 15:12
JDBC란?
- Java DataBase Connection
- 자바(JSP, 웹서버) 와 DBMS를 연결시켜주는 프로그램
사용방법
1) JDBC드라이버(DBMS에 제공) 설치
2 ) C드라이브 - Program Files(X86) - MySQL - connector J 8.0 - mysql-connector-java-버전.jar 가져오기
2) 이클립스 - 프로젝트 -WebContent - WEB-INF - lib - 가져온 jar파일 넣어주기
실행방법
1단계
1-1)JDBC 프로그램안에 Driver 프로그램 가져오기
1-2) com\mysql\jdbc Driver.class
1-3) Driver d=new Driver(); 직접사용하지않고 가져와서 다른프로그램이 사용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WebContent/Study/jsp2/jdbcTest.jsp</title>
</head>
<body>
<h1>WebContent/Study/jsp2/jdbcTest.jsp</h1>
<%
//JDBC 프로그램 설치
//이클립스 - 프로젝트 -WebContent - WEB-INF - lib - 가져온 jar파일 넣어주기
//1단계 - JDBC 프로그램안에 Driver 프로그램 가져오기
// com\mysql\jdbc Driver.class
//Driver d=new Driver(); 직접사용하지않고 가져와서 다른프로그램이 사용
Class.forName("com.mysql.jdbc.Driver");
//Class.forName("oracle.jdbc.driver.OracleDriver"); - 오라클에서
//String sql ="";
%>
</body>
</html>
2단계 - DriverManager 자바프로그램이 Driver 프로그램을 가지고 디비서버 접속 → 접속정보 저장
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WebContent/Study/jsp2/jdbcTest.jsp</title>
</head>
<body>
<h1>WebContent/Study/jsp2/jdbcTest.jsp</h1>
<%
// JDBC 프로그램 설치
// 이클립스 - 프로젝트 -WebContent - WEB-INF - lib - 가져온 jar파일 넣어주기
// 1단계 - JDBC 프로그램안에 Driver 프로그램 가져오기
// com\mysql\jdbc Driver.class
// Driver d=new Driver(); 직접사용하지않고 가져와서 다른프로그램이 사용
Class.forName("com.mysql.jdbc.Driver");
//Class.forName("oracle.jdbc.driver.OracleDriver"); - 오라클에서
//String sql = '';
// 2단계 - DriverManager 자바프로그램이 Driver 프로그램을 가지고 디비서버 접속 → 접속정보 저장
// DriverManager.getConnection(url, user, password);
String dbUrl = "jdbc:mysql://localhost:서버통로(포트번호)/디비이름"; //db접속주소 //내서버에 디비정보있음:통로/디비이름
//String dbUrl = "jdbc:oracle:@localhost:서버통로(포트번호):XE"; -오라클
String dbUser = "root"; //db접속아이디
String dbPass ="1234"; //db접속패스워드
//DriverManager.getConnection(dbUrl,dbUser, dbPass);
//반복사용안해도되게 변수에 담음 // 연결정보니까 connection
Connection con = DriverManager.getConnection(dbUrl,dbUser, dbPass);
%>
연결성공
</body>
</html>
3단계 - 접속정보를 이용해서 sql구문 만들고 실행 할 수 있는 자바프로그램 생성
(insert, update, de;ete, select)
4단계 - sql실행 (insert, update, delete)
sql실행 → 결과저장(select)
5단계 - 결과 → 화면에 출력, 저장(select)
마무리 작업 (기억장소 해제)
- pstmt.executeUpdate();
→ update, insert, delete에선 executeUpdate(); 를 사용하여 쿼리문을 업로드 시켜줌
- ResultSet rs = pstmt.executeQuery();
→ select에선 select된 정보를 ResultSet에 executeQuery();사용하여 해당 데이터를 꺼내 저장하여 출력
(insert, update, delete, select 예시보기)
// String sql = "insert into student (num, name) values ("+num+", '"+name+"')";//현재 잘사용되지않는 방법 //보안상 좋지않음
String sql = "insert into student (num, name) values (?,?)";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(1, num); // parameterIndet ? 물음표순서
pstmt.setString(2, name); // parameterIndet ? 물음표순서
//4단계 - sql실행 (insert, update, delete) sql실행 → 결과저장(select)
pstmt.executeUpdate();
'IT > DB' 카테고리의 다른 글
[DB] 제약조건 5가지(NOT NULL/UNIQUE/PK/FK/CHECK) (0) | 2020.08.24 |
---|---|
[DB] 트랜잭션(Transaction)이란? (0) | 2020.08.21 |
[DB] 데이터 조작어(DML) (0) | 2020.08.19 |
[DB] 데이터타입(IN Oracle) (0) | 2020.08.19 |
[DB] MYSQL 데이터베이스 설정 (0) | 2020.08.18 |