728x90
반응형
JDBC
자바는 1tier 기술
JDBC는 2tier
웹은 3tier
JDBC 4단계
- Driver Loading (Fully Quealified Class Name - Connector J 8.0은 32bit에 설치 되어있음)
- DB 서버와 연결
- Prepared Statement 생성 : 인자값으로 쿼리문 (값 바인딩으로 전달)
- 쿼리문 실행 : execute...
- close : 연결 순서 반대로 (ResultSet, PreparedStatement, Connection 순서로 닫는다)
Driver Loading
C:\Program Files (x86)\MySQL\Connector J 8.0 내부에
mysql-connector-java-8.0.26 파일 (jar)을
C:\Program Files\Java\jre1.8.0_301\lib\ext 와
C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext 로 복사해 넣는다
package jdbc.test1;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnectionTest {
// 1. 드라이버 로딩
DBConnectionTest(){
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("로딩 성공");
// 2. DB 서버 연결
String url = "jdbc:mysql://127.0.0.1:3306/scott?serverTimezone=UTC&useUnicode=yes&characterEncoding=UTF-8";
DriverManager.getConnection(url, "root", "1234");
System.out.println("서버 연결 성공");
}catch(ClassNotFoundException e) {
System.out.println("로딩 실패");
}catch(SQLException e) {
System.out.println("DB 서버 연결 실패");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new DBConnectionTest();
}
}
executeUpdate() : 성공 시 1, 실패 시 0 리턴
executeQuery() : ResultSet 리턴
qeury 하나 당 prepareStatement 하나가 생성된다고 생각하면 된다
NULL
DB에서 NULL은 0이나 없는 값이 아니다
- 자격 없음
- 미확정
의 의미를 가지는 값
null과의 연산은 null
0보다 작은 것으로 인식 됨
null 연산 시
ifNull(컬럼명, 치환 값) 으로 치환하여 사용
alias
as 생략 가능
"" 생략 가능 (공백 필요 시에는 사용해야 함)
projection
원하는 컬럼 값만 가져오는 것
SQL
DML : 데이터 조작어 - SELECT, INSERT, UPDATE, DELETE, MERGE
DDL : 데이터 정의어 - CREATE, ALTER, DROP, RENAME
DCL : 데이터 제어어 - GRANT, REVOKE
SELECT
projection + selection
projection : 컬럼명을 직접 지정
distinct 컬럼의 중복을 제거
selection : where 절을 추가해서 원하는 행만 검색
order by, alias
schema
스키마 - database
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
Java) 11/04 - JDBC 개발 순서 (0) | 2021.11.04 |
---|---|
Java) 11/04 - JDBC 상수 모듈화 (0) | 2021.11.04 |
Java) 11/01 - 예외 처리 (Exception) (0) | 2021.11.01 |
Java) 10/29 - CollectionAPI (0) | 2021.10.29 |
Java) 10/28 - Interface (0) | 2021.10.29 |
댓글